假设我有以下代码:
IBOutlet UITextField* nameTextField;
IBOutlet UILabel* greetingLabel;
Run Code Online (Sandbox Code Playgroud)
greetingLabel一旦用户按任意键,我想要读取"Hello [nameTextField]".
我需要的基本上是iPhone相当于Cocoa委托方法controlTextDidChange.
的textField:shouldChangeCharactersInRange:委托方法被称为每个键击发生时:
- (BOOL) textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
Run Code Online (Sandbox Code Playgroud)
字符串参数返回按下的字符.然而,实际textField的值(nameTextField.text)仍为空白.
我在这里错过了什么?(我想nameTextField反映用户到目前为止输入的确切字符串).
有没有办法为a设置autocapitalizationType,UITextField以便默认情况下每个单词的首字母大写?
这是我想要的一个例子
我正在做一个UITextField有UIPickerViewas的inputView.它很好,除了我可以通过复制,粘贴,剪切和选择文本进行编辑,我不想要它.只有Picker才能修改文本字段.
我明白了,我可以通过设置禁止编辑setEnabled或setUserInteractionEnabled到NO.好的,但TextField停止响应触摸和选择器不显示.
我能做些什么来实现它?
我创建了一个以UITextField编程方式创建UITextFieldviewController的属性.我需要通过屏幕上的返回和触摸来关闭键盘.我能够让屏幕触摸解除,但按下返回不起作用.
我已经看过如何使用故事板以及UITextField直接分配和初始化对象而不将其创建为属性.可以吗?
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITextFieldDelegate>
@property (strong, atomic) UITextField *username;
@end
Run Code Online (Sandbox Code Playgroud)
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor blueColor];
self.username = [[UITextField alloc] initWithFrame:CGRectMake(100, 25, 80, 20)];
self.username.placeholder = @"Enter your username";
self.username.backgroundColor = [UIColor whiteColor];
self.username.borderStyle = UITextBorderStyleRoundedRect;
if (self.username.placeholder != nil) {
self.username.clearsOnBeginEditing = …Run Code Online (Sandbox Code Playgroud) 如何在编辑UITextField时检测用户何时按下"返回"键盘按钮?我需要这样做才能在用户按下"返回"按钮时关闭键盘.
谢谢.
我一直在尝试UITextField和如何使用它的光标位置.我已经找到了许多关系Objective-C答案,如
但由于我正在使用Swift,我想学习如何获取当前光标位置并在Swift中设置它.
下面的答案是我从Objective-C进行实验和翻译的结果.
我的应用程序(UITextField)中有一个密码字段.当用户在字段中输入文本时,我希望它显示*而不是他们输入的文本.
我已经使用了尝试UIControlEventEditingDidEnd的UITextField,但它只能说明一个*编辑时在最后,但我希望它显示*为输入任何文字,就像在任何网上电邮密码字段尽快秒.我怎样才能获得理想的行为?
我想在UITextField中添加图标/图像.图标/图像应留给占位符.

我试过这个:
var imageView = UIImageView();
var image = UIImage(named: "email.png");
imageView.image = image;
emailField.leftView = imageView;
Run Code Online (Sandbox Code Playgroud)
谢谢.
iOS7上UITextField的leftView和rightView视图非常接近文本域边框.
如何为这些项添加一些(水平)填充?
我尝试修改框架,但没有工作
uint padding = 10;//padding for iOS7
UIImageView * iconImageView = [[UIImageView alloc] initWithImage:iconImage];
iconImageView.frame = CGRectMake(0 + padding, 0, 16, 16);
textField.leftView = iconImageView;
Run Code Online (Sandbox Code Playgroud)
请注意,我没有兴趣在文本字段的文本中添加填充,比如使用UITextBorderStyleNone为UITextField设置填充
我的视图中有一个按钮和文本文本字段.当我点击文本字段时,键盘出现,我可以在文本字段上书写,我也可以通过添加以下命令来点击按钮来解除键盘:
[self.inputText resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)
现在我想启用键盘的返回键.当我按下键盘时,键盘会消失,会发生一些事情.我怎样才能做到这一点?
ios ×10
uitextfield ×10
objective-c ×4
iphone ×3
swift ×3
cocoa-touch ×2
backspace ×1
image ×1
keyboard ×1
login ×1
uipickerview ×1
uitextview ×1