2012-11-15 63 views
0

我已經使用了演示代碼蘋果公司在這裏他們的文檔:鍵盤出現時移動視圖 - 僅在編輯時?

http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html#//apple_ref/doc/uid/TP40009542-CH5-SW7

有我的看法移動。因此,這取決於文本字段被編輯。它的效果很好,我的觀點像我預期的那樣發展,除了一件事。

我的問題是,我可以選擇一個textField,它只會在我開始輸入時移動視圖,而不是當我實際選擇textField時。

我從字面上使用與文檔中相同的代碼(請點擊上面的鏈接)。相當令人沮喪的是,我看不到會造成這種情況。謝謝。

+0

你應該看到,你需要我的Edit.This會工作。 – Kamarshad

回答

1

這是邏輯See。 1)您需要Flag值集TRUE最初在ViewDidLoadviewWillAPpear。 假設isNeedToMove是那個標誌值。

您需要在您的代碼中實施這些方法,因爲使用它們不要忘記在您的UIViewcontroller.h class中使用Adopt協議UITextFieldDelegate

編輯:在這裏,我chnaged代碼,你在y中提到你的評論你需要移動該UIView只需觸摸TextFIeld。見下面是SOME代碼的邏輯。

addTarget到TextFieldViewDiodiLoad

- (void)viewDidload 
{ 
[touchyTextField addTarget:self 
        action:@selector(yourDesiredMethod) 
      forControlEvents:UIControlEventTouchDown]; 
} 

-(void)yourDesiredMethod 
{ 
if(isNeedToMove)//this Flag Avoid The unnecessary move call. 
{ 
//here call the method which Move The UIview 
} 
} 


- (BOOL)textFieldShouldReturn:(UITextField*)textField 
{ 

[textField resignFirstResponder]; 
//here call the method which move UIView to its actual position. 
isNeedToMove= TRUE; 
return YES; 

} 

我希望你可以得到一些想法。

+0

@Josh Kahane你還有這個問題..? – Kamarshad

+0

目前不在我的電腦上,會盡快嘗試並報告回來! –

+0

@JoshKahane是當然.... !!! – Kamarshad

0

我也有這個麻煩。在keyboardWasShown,蘋果的文件說:

if (!CGRectContainsPoint(aRect, activeField.frame.origin) 

我用:

if (activeField == myTextField) 

答案在這裏的長版本:moving content located under the keyboard

相關問題