2014-02-17 126 views
2

我使用下面的代碼。因爲看起來我有5個uitextfields。現在由於某種原因,當我點擊下一個時,視圖實際上自動向下滾動,所以我可以看到我正在用鍵盤寫數據的文本框。我認爲這是默認的。Textfieldshould返回自動滾動屏幕

我在uiview中添加了很多代碼,並添加了一個鏈接到另一個視圖的按鈕。不知何故,在這個過程中,我的uiview失去了「自動滾動 - 當下一個被按下」的機制。我嘗試刪除我的按鈕,並弄亂了一下,但找不到問題。

不確定是否應該發佈全班。

-(BOOL)textFieldShouldReturn:(UITextField*)textField; 
{ 
    [textField resignFirstResponder]; 

    if (textField == self.firstOne) { 
     [self.secondOne becomeFirstResponder]; 
    } else if (textField == self.secondOne) { 
     [self.thirdOne becomeFirstResponder]; 
    } else if (textField == self.thirdOne) { 
     [self.fourthOne becomeFirstResponder]; 
    } else if (textField == self.fourthOne) { 
     [self.fifthOne becomeFirstResponder]; 
    } 

    return NO; 
} 

我還發現了一些關於如何通過設置座標來滾動屏幕編程的內容。在我看來,這不太可行。我希望它能成爲「知道自動向下滾動」的方式。

回答

0

我希望添加了滾動中查看和下一步中添加5文本字段中的UIScrollView的子視圖諸如此類的

[scrollView addSubView:textField1]; 

下一頁增減集的滾動視圖內容。如

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
     [scrollView setContentOffset:CGPointMake(0, 230) animated:YES]; 
} 
0

我發現原因是我在添加viewWillAppear方法時引入了新按鈕。該代碼沒有調用超級方法,因此只需添加1行代碼即可解決問題

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    // your code 
}