我有一个UIButton和一个UITextField,当按下按钮时,文本字段的内容字符串将等于:Thisisateststring,在这种情况下,如何检测到此文本字段的内容已更改?附注UITextField的委托(delegate)方法在这种情况下不起作用更新:我希望此行为出现在iOS6+设备上。 最佳答案 您可以添加UITextFieldTextDidChangeNotification:[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(t
我有一个带有占位符的UITextField。当用户想要提交表单并且他/她没有在文本字段中输入任何内容时,我希望占位符的文本颜色变为红色。这是我的问题:这会违反Apple的用户界面指南吗?我不希望我的应用因为如此小的细节而被拒绝。我会怎么做?我知道我可以在UITextField的子类中覆盖方法drawPlaceholderInRect:。但如果我这样做,文本将始终为红色,正如我之前所写,我希望它根据用户定义的操作变为红色。我能想到的唯一解决方案是为我的UITextField(占位符的文本)使用“默认”文本,只要用户没有输入任何内容就以浅灰色显示它,并且在我需要的时候显示为红色。换句话说,
我需要将光标移动到开始文本位置以将焦点放在文本字段上。可以吗? 最佳答案 将您的ViewController(或其他一些适当的对象)设置为文本字段的委托(delegate),并像这样实现textFieldDidBeginEditing:方法:-(void)textFieldDidBeginEditing:(UITextField*)textField{UITextPosition*beginning=[textFieldbeginningOfDocument];[textFieldsetSelectedTextRange:[text
有什么方法可以让我通过文本字段的UITextRange对象获得UITextField的当前插入符号位置?UITextField返回的UITextRange是否有任何用处?UITextPosition的公共(public)接口(interface)没有任何可见成员。 最佳答案 我昨晚遇到了同样的问题。事实证明,您必须在UITextField上使用offsetFromPosition来获取所选范围“开始”的相对位置才能计算出位置。例如//GettheselectedtextrangeUITextRange*selectedRange=[
在iOS5.1和iOS5.0中它可以工作,但在iOS6.0中键盘不显示。-(void)viewWillAppear:(BOOL)animated{[superviewWillAppear:animated];UITextField*textField=self.emailAddressTextField;[textFieldbecomeFirstResponder];}现在我将逻辑移至-viewDidAppear:。//Thisworksbutisnotdesirable.-(void)viewDidAppear:(BOOL)animated{[superviewDidAppear:a
我有一个带有占位符文本集的3UITextField。在其中一个UITextField上,我希望占位符文本为红色。现在在谷歌搜索之后,似乎最好的方法是子类化UITextField并覆盖drawPlaceholderInRect。如何进行子类化和覆盖drawPlaceholderInRect?我没有找到任何关于此的代码示例或教程,而且我是Objective-C和iOS开发的新手,所以发现它很难解决。答案:创建了一个名为CustomUITextFieldPlaceholder的新objective-c类,它是UITextField的子类。在CustomUITextFieldPlacehold
我知道之前有人问过这个问题,但我对答案不满意,即禁用它。有一个根本区别:禁用View不会触发事件,但对于只读View,它仍应触发事件(例如TouchUpInside),我需要它。我唯一不想要的是键盘输入。原因是我有几个输入框,有的可以直接使用UITextField,有的则不能。我想让它们看起来相似。所以,我想使用UITextField来显示所有这些。其中一些需要是只读的,以便我可以使用触摸事件进行替代输入。或者可能有一种完全不同的方式来做到这一点?编辑:这是我的MonoTouch项目。我对Objective-c的了解非常有限。 最佳答案
我正在开发iPhone中的文本转语音应用程序,其中有一个接受输入的文本字段,我希望用户从文本字段中选择文本的一部分,我的应用程序会将所选文本转换为语音。我的问题是如何获取用户从文本字段中选择的文本? 最佳答案 -[UITextFieldselectedText]尽管UITextField没有selectedText方法,它符合UITextInputprotocol.因此,您可以使用UITextInput协议(protocol)所需的属性和方法来确定UITextField*textField的selectedText(或任何符合到UI
是否有一种简单的方法可以从UITextField中删除键盘快捷键建议?可以使用以下方法删除打字更正:[textFieldsetAutocorrectionType:UITextAutocorrectionTypeNo];但是这对快捷方式没有影响。影响sharedMenuController也不会压缩它。-(BOOL)canPerformAction:(SEL)actionwithSender:(id)sender{[UIMenuControllersharedMenuController].menuVisible=NO;returnNO;} 最佳答案
我在表格View单元格上有一个UITextField,当它的文本变得太长时,我希望减小字体大小。我想说得很清楚,我说的是UITextField,而不是UILabel或UITextView。我之所以这样说,是因为我看到这个问题弹出了好几次,答案都是基于UILabel而不是UITextField。例如,有人问“我无法让我的UITextField自动收缩”,答案是“确保它的numberOfLines设置为1”。据我所知,UITextField甚至没有该属性并且是单行控件。我试过:在IB中将字体设置为系统14.0,将minFontSize设置为7并选中“adjusttofit”复选框在tabl