我已經使用了演示代碼蘋果公司在這裏他們的文檔:鍵盤出現時移動視圖 - 僅在編輯時?
有我的看法移動。因此,這取決於文本字段被編輯。它的效果很好,我的觀點像我預期的那樣發展,除了一件事。
我的問題是,我可以選擇一個textField,它只會在我開始輸入時移動視圖,而不是當我實際選擇textField時。
我從字面上使用與文檔中相同的代碼(請點擊上面的鏈接)。相當令人沮喪的是,我看不到會造成這種情況。謝謝。
我已經使用了演示代碼蘋果公司在這裏他們的文檔:鍵盤出現時移動視圖 - 僅在編輯時?
有我的看法移動。因此,這取決於文本字段被編輯。它的效果很好,我的觀點像我預期的那樣發展,除了一件事。
我的問題是,我可以選擇一個textField,它只會在我開始輸入時移動視圖,而不是當我實際選擇textField時。
我從字面上使用與文檔中相同的代碼(請點擊上面的鏈接)。相當令人沮喪的是,我看不到會造成這種情況。謝謝。
這是邏輯See。 1)您需要Flag
值集TRUE
最初在ViewDidLoad
或viewWillAPpear
。 假設isNeedToMove
是那個標誌值。
您需要在您的代碼中實施這些方法,因爲使用它們不要忘記在您的UIViewcontroller.h class
中使用Adopt
協議UITextFieldDelegate
。
編輯:在這裏,我chnaged代碼,你在y中提到你的評論你需要移動該UIView只需觸摸TextFIeld
。見下面是SOME代碼的邏輯。
addTarget到TextField
在ViewDiodiLoad
- (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;
}
我希望你可以得到一些想法。
我也有這個麻煩。在keyboardWasShown,蘋果的文件說:
if (!CGRectContainsPoint(aRect, activeField.frame.origin)
我用:
if (activeField == myTextField)
你應該看到,你需要我的Edit.This會工作。 – Kamarshad