Tag: uitextfield

Swift 2 addObserver特定的textField与对象参数

据我了解, addObserver方法的object参数是你想要接收通知的对象。 大多数时候,我认为它nil (我认为这是因为指定types的通知是从所有对象中获取的)。 在我的特殊情况下,我在屏幕的顶部和屏幕的底部有一个文本字段,我希望只有当用户点击底部文本字段,而不是顶部的时候,视图才会向上移动。 所以我在viewWillAppear调用下面的方法 func subscribeToKeyboardNotifications() { NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: self.bottomTextField) NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: self.bottomTextField) } keyboardWillShow:和keyboardWillHide:select器调用方法来重新定位视图的框架。 我试图离开object参数nil但是会从两个文本字段接收通知。 我尝试设置object参数self.bottomTextField (如上所示),但不接收来自任何文本字段的通知。 我的问题是双重的。 首先,我正确理解addObserver方法(特别是object参数),其次,为什么不从self.bottomTextField注册通知。 谢谢! 解决scheme:我知道这不是我所问的确切问题的解决scheme,但是我最终做了什么以使视图向上移动,只需点击底部的文本字段即可: func subscribeToKeyboardNotifications() { NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: nil) } 然后在keyboardWillShow:方法中我有: func keyboardWillShow(notification: NSNotification) { […]

当以编程方式将UITextField设置为FirstResponder时,会在文本编辑上造成一些奇怪的操作

我有一个自定义键盘的UITextField,基本上就像一个计算器。 我想我的键盘默认显示,所以我用[self.topInputTextField becomeFirstResponder]; 在viewDidLoad ,我认为这是非常常见的用法。 但是,它会在我的文本框中导致一些非常奇怪的操作。 当我将我的文本字段设置为viewDidLoad中的第一个响应者时,每次完成编辑之后,文本都会跳转,而当我单击另一个文本字段并再次单击第一个文本字段时,第一个文本字段中的文本有时会发生移位下来,消失,但有时不。 我感觉这很难描述,所以我为它logging了一个GIF图像。 原因,我相信[self.topInputTextField becomeFirstResponder]; 造成这个问题,就是当我评论那行代码的时候,一切都恢复正常了。 这里是我注释掉该行后的GIF: 这对我来说很奇怪,在2个GIF文件之间,我做的唯一的改变是注释掉那行代码。 我在SE上找不到任何解决scheme。 任何想法将非常感激。 编辑:另外一件事是我试图改变字体和字体大小,他们都有类似的奇怪的行为。 *编辑2:**这里是我如何设置我的文本字段,我没有做任何幻想

如何将用作UITextField中的左视图的UILabel与textField的文本垂直alignment?

我使用UILabel作为UITextField的leftView UITextField 。 问题是textField的文本比标签的高。 这是我迄今使用的代码 UILabel *startsWith = [[UILabel alloc] init]; startsWith.font = [UIFont systemFontOfSize:14]; startsWith.textColor = [UIColor blackColor]; startsWith.backgroundColor = [UIColor clearColor]; startsWith.text = @"Text"; [startsWith sizeToFit]; self.textField.leftViewMode = UITextFieldViewModeAlways; self.textField.leftView = startsWith; 我试过稍微改变标签的框架,但它没有工作… 我怎样才能alignment两个文本?

当文本被改变时,iOS UITextField改变位置

我用这个来把一个文本框放在相关的东西上: [textField setCenter:[someObject center]]; [textField becomeFirstResponder]; 这看起来不错,很好,集中在对象,准备接受文字。 我希望文本以某种方式合成,所以在编辑改变的处理程序中,我修改文本并设置为新文本: [textField setText:newText]; 当我这样做的时候,文本框会从中心位置前跳到原来的位置。 我想要文本字段留在对象的中心。 我的经验是,有可能有更好的方法来做到这一点,即移动文本字段,并dynamic地改变它的内容,而不必解决各种怪癖。 有什么build议?

自定义清除button

我想在UITextField上创build自定义清除button,即使用rightView并将图像放在那里,问题是将原始清除button事件附加到该自定义的RightView。 在Objective-C中,我可以这样做: SEL clearButtonSelector = NSSelectorFromString(@"clearButton"); // Reference clearButton getter IMP clearButtonImplementation = [self methodForSelector:clearButtonSelector]; // Create function pointer that returns UIButton from implementation of method that contains clearButtonSelector UIButton * (* clearButtonFunctionPointer)(id, SEL) = (void *)clearButtonImplementation; // Set clearTextFieldButton reference to “clearButton” from clearButtonSelector UIButton *_clearTextFieldButton = clearButtonFunctionPointer(self, clearButtonSelector); [_clearTextFieldButton setImage:[UIImage imageNamed:@"icon_remove"] forState:UIControlStateNormal]; self.hasClearButtonAsRightView […]

UIViewControllerHierarchyInconsistency仅在iOS 8和Xcode 6中崩溃应用程序

我有一个应用程序,在iOS 7和Xcode 5中工作正常。只要我将其更新到iOS 8和Xcode 6,当应用程序尝试向上滑动UIDatePicker时,视图中的文本字段被轻敲时崩溃。 我正在使用故事板。 有人知道为什么吗? 我已经阅读了这个,但它的Xib。 应用程序在IOS 6崩溃 – UIViewControllerHierarchyInconsistency 请帮忙谢谢 我的代码: – (void)textFieldDidBeginEditing:(UITextField *)textField { //set picker color start [self.myDatePicker setBackgroundColor:[UIColor greenColor]]; //set picker color finish //calculate bounds start CGRect textFieldRect = [self.view.window convertRect:textField.bounds fromView:textField]; CGRect viewRect = [self.view.window convertRect:self.view.bounds fromView:self.view]; //calculate bounds finish //calculate the fraction between the top and bottom […]

如何编写一个自定义的UItextField类

在我的应用程序中,我需要使用大量的文本字段,而且我不是真的希望每个viewcontroller类都包含textfields的代表,这些代码可能是混乱的,我只是想创build一个generics的类来处理文本字段的委托并返回我一个文本字段,我可以添加它作为一个子视图,我需要的地方。 我想把它作为一个图书馆,每当我需要一个文本字段,例如调用类 CustomTexTField *textField = [[CustomTextField alloc] initWithFrame:Frame]; // returns a textField whose delegate will be set to CustomTextField // // all i should do is just adding it as a subView // [self.view addSubView:textField]; 这可能吗??。 提前致谢!!

调整UITextField的宽度以在横向上填充工具栏

在UIToolbar ,我已经添加了一个UITextField到中间的栏(它被作为一个UIBarButtonItem添加)与旁边的另一个UIBarButtonItem (动作button)。 我在左边和右边添加了灵活的空格键button项目。 它在纵向上看起来不错,但是当我旋转到横向时,它将它们居中并看起来不错,但是我需要拉伸文本字段来填充宽度,并将最后一个button清除到右侧 – 完全像在Messages中一样iPhone和iPad。 我认为自动布局会做的伎俩,但苹果声明,你不能创buildUIBarButtonItem的约束。 实际上,当我select任何栏button或文本字段时,将不允许创build任何约束。 你能让我知道如何做到这一点? 谢谢! 编辑:我已经尝试了一些固定/灵活的空间的其他组合。 当我不添加任何时,文本字段和分享button被推到左边: 如果相反,我做固定的空间,它看起来是完全相同的如上0宽度,或者如果我设置一个宽度,那么它显然会推它们。 最右边的最后一个空间没有任何影响 – 它不是固定在最右边,所以它离开了屏幕。 我试了左边的一个固定的空间,右边是一个固定的空间,中间的空间固定(或者没有中间的空间),看起来像上面的截图。 然后我改变了中间的一个灵活,结果是这样的: 如果我把第一个变为灵活的,中间没有(或者如果我添加一个固定的),然后在右侧移动,它会移到右侧: 如果第一个是灵活的,中间是灵活的,右边是固定的,这是它的外观: 在所有情况下,文本字段的宽度与最初在故事板中设置的静态值保持相同。 我认为问题是,当您通过拖动框架来设置宽度时,没有蓝色的指引来捕捉,所以它将始终保持相同的宽度。 我错过任何空间组合吗? 如果我不能在界面生成器中实现所需的行为,那么如何在代码中完成此操作?

UITextField上的上下文0x0无效(Xcode 5)

我在我的应用程序中使用UITextField。 我正在使用[texfield becomeFirstResponder] 。 这工作得很好,加载视图时加载键盘。 但是,当我在点击UITextField后,又出现了这个错误。 我不明白为什么,但这里是我得到的输出: CGContextSetFillColorWithColor: invalid context 0x0. CGContextSetStrokeColorWithColor: invalid context 0x0. CGContextSaveGState: invalid context 0x0. CGContextSetFlatness: invalid context 0x0. CGContextAddPath: invalid context 0x0. CGContextDrawPath: invalid context 0x0. CGContextRestoreGState: invalid context 0x0. CGContextSaveGState: invalid context 0x0. CGContextSetFlatness: invalid context 0x0. CGContextAddPath: invalid context 0x0. CGContextDrawPath: invalid context 0x0. CGContextRestoreGState: invalid context 0x0. […]

UITableViewCell中的UITextField:didSelectRowAtIndexPath中的becomeFirstResponder

我目前正试图让这个工作。 任何帮助表示赞赏。 我有一个自定义的UITableViewCell里面有一个UITextField 。 当我select表格单元格时,我想使UITextField第一个响应者。 然而[textField becomeFirstResponder]; 返回false 。 – (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath]; UITextField *textField; for (UIView *view in [cell subviews]) { if ([view isMemberOfClass:[UITextField class]]) { textField = ((UITextField *)view); } } [textField becomeFirstResponder]; } 根据要求,文本字段的初始化。 这是在UITableViewCell子类中完成的: – (id) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super […]