2012-11-07 24 views
0

我已經在界面生成器的ViewController中放置了一個帶有UIButton的UIView作爲子視圖。我也有一個UITextField,每當我輸入一些東西時,就會觸發一個動作女巫。當我輸入某些東西時,我的視圖應該變得更高,並且按鈕應該移動到視圖的底部。但是,當我在文本框中鍵入第一個字母時,視圖會調整大小,但按鈕不會移動。當我輸入第二個字母時,按鈕移動。可能是因爲這個觀點已經調整過了。我的問題是如何在文本字段中輸入第一個字母時同時使其工作。調整UIView的大小並同時改變子視圖的位置

我的代碼:

[[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); 

} 

回答

0

通過將按鈕視圖的底部解決它。然後,當我調整視圖的大小時,按鈕隨之停留在底部。我不需要以編程方式移動按鈕。

0

嘗試實現這個方法:

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
// put your action here 
} 
+0

不適用於我的情況。我需要知道什麼時候鍵入一些內容,以便我可以返回該值。這也是我的代碼的縮短版本。實際上,UIViews的高度正在改變,這取決於我在文本框中輸入的內容。 –

+0

忘了提及UIButton也是UIView的子視圖。編輯了這個問題。 –

+0

@DanielTovesson你還有問題嗎? – Omarj

相關問題