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

ビューをUITextFieldDelegateprotocolに準拠させてから、メソッドを実装します。

- (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

このようにしてください。これにより、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 に答える
0

2 番目の質問では、UILabel の numberOfLines プロパティの値を 0 に変更します。

また、ソリューションでは、文字列の同一性をチェックしており、等しいかどうかをチェックしていないことに注意してください。だからあなたは使うべきです
![label.text isEqualToString:textField.text]

それ以外の
label.text != textField.text;

于 2012-09-28T20:47:18.513 に答える