0

我正在制作一个非常简单的 iphone 项目,但我遇到了 2 个问题:

1-我想让一个应用程序在你输入时输入你的名字,所以我希望它在我输入任何我绑定使用while但它失败并崩溃的字母时立即输入

2-当我输入长名称时,它显示(...)如何使它显示在多行中

这就是我的代码

@synthesize textField,label;

-(IBAction)changeName:(id)sender{

    label.text=textField.text;
    while (label.text != textField.text){
        label.text=textField.text;
    }
    [sender resignFirstResponder];



}
4

3 回答 3

1

让你的视图遵守UITextFieldDelegate协议,然后实现方法:

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

并使用类似的东西:

label.text = [textField.text stringByReplacingCharactersInRange:range withString:string];
于 2012-09-28T20:45:39.227 回答
0

对于第二个问题,将 UILabel 的 numberOfLines 属性值更改为 0。

请注意,在您的解决方案中,您正在检查字符串身份而不是相等性。所以你应该使用
![label.text isEqualToString:textField.text]

代替
label.text != textField.text;

于 2012-09-28T20:47:18.513 回答
0

这样做,这将使您的标签设置为您在 TextField 中键入的内容。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{

UILabel *lbl_YORLabel ;
lbl_YORLabel.lineBreakMode = UILineBreakModeCharacterWrap;


CGSize size = [textView.text sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:CGSizeMake(320, 1000) lineBreakMode:UILineBreakModeWordWrap];


// Now set the Frame size of the label and text.
CGRect _frame = lbl_YORLabel.frame;
_frame.size.height = size.height;
lbl_YORLabel.frame = _frame;


// Set text to the label
lbl_YORLabel.text = textView.text;

return YES;
}
于 2012-09-29T10:32:58.223 回答