相关疑难解决方法(0)

获取UITextField的值作为击键输入?

假设我有以下代码:

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反映用户到目前为止输入的确切字符串).

cocoa-touch objective-c uitextfield ios

107
推荐指数
3
解决办法
7万
查看次数

UITextField - 在键入时输入第一个字符后添加一个字符

我有一个UITextField,它将包含高度值.我想在用户输入UITextField时格式化字段的值.例如,如果我想输入值为"5英尺10",则流程将为:

1. Enter 5
2. " ft " is appended immediately after I type 5 with leading & trailing space.
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range       replacementString:(NSString *)string
{   

if ( [string isEqualToString:@""] ) return YES;

// currHeight Formatting
if ( textField == currHeight )  { 
   if (currHeight.text.length == 1) {   
        currHeight.text = [NSString stringWithFormat:@"%@ ft ", currHeight.text];    
        }
}
return YES; 
}
Run Code Online (Sandbox Code Playgroud)

我被困在我输入的地步5没有任何反应.我必须点击任何按钮才能追加"ft".

我可以不点击任何东西吗?

iphone uitextfield ios uitextfielddelegate

6
推荐指数
1
解决办法
5247
查看次数