0

InterfaceBuilderのViewControllerのサブビューとしてUIButtonを使用してUIViewを配置しました。また、UITextFieldがあり、何かを入力するたびにアクションウィッチがトリガーされます。何かを入力すると、ビューが高くなり、ボタンがビューの下部に移動するはずです。しかし、テキストフィールドに最初の文字を入力すると、ビューのサイズは変更されますが、ボタンは移動しません。2番目の文字を入力すると、ボタンが移動します。おそらく、ビューのサイズがすでに変更されているためです。私の質問は、テキストフィールドに最初の文字を入力するときにこれを同時に機能させる方法です。

私のコード:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyPressed:) name:UITextFieldTextDidChangeNotification object:textField];

- (void)keyPressed:(NSNotification*)notification{

    view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 200.0);
    button.frame = CGRectMake(button.frame.origin.x, (view.frame.size.height-button.frame.size.height), button.frame.size.width, button.frame.size.height);

}
4

2 に答える 2

0

このメソッドを実装してみてください:

-(void)textFieldDidBeginEditing:(UITextField *)textField
{ 
 // put your action here 
}
于 2012-11-07T10:04:23.430 に答える
0

ビューの下部にボタンを配置して解決しました。次に、ビューのサイズを変更すると、ボタンに続いて下部に留まります。プログラムでボタンを動かす必要はありませんでした。

于 2012-11-12T08:40:54.373 に答える