2010-12-11 73 views
1

我是iphone新手;在文本框中輸入文本後禁用鍵盤

我所做的是創建一個帶有相應文本字段的10個標籤。

當我點擊文本字段鍵盤打開。

但它涵蓋了底部的4個文本框。

我無法輸入文本到這些字段。

我需要當我點擊鍵盤屏幕前面的文本框向上移動。

現在我可以輸入這些文本框。

我該如何做到這一點。

謝謝你提前。

回答

1

正如Jumhyn所寫,使UIViewController成爲所有文本字段的代表。然後從上到下分配0到9的文本字段標籤。然後執行以下方法控制器:

- (void)textFieldDidEndEditing:(UITextField *)textField { 
    self.view.bounds = CGRectOffset(self.view.bounds, 0, textField.tag * 50); 
    [[self.view viewWithTag: textField.tag + 1] becomeFirstResponder]; 
} 

的想法是,第一行轉移的所有文本字段時,這取決於文本字段的編輯,在第二行您激活下一個文本字段。你將不得不修改代碼以更好地適應你的佈局,但它應該給你的想法。

+0

感謝q重播,我嘗試這個,但沒有改變我的看法。 – MaheshBabu 2010-12-11 06:37:33

+0

看看這篇文章,以更好地瞭解機器:http://cocoawithlove.com/2008/10/sliding-uitextfields-around-to-avoid.html – Costique 2010-12-11 06:41:45

+0

我認爲你的代碼是正確的我把NSlogs在上面的函數鏈接。但是這些功能並沒有被解僱。我需要做些什麼來解決這些事件 – MaheshBabu 2010-12-11 06:57:50

0

作出這樣的處理文本的UIViewController瀏覽量UITextFieldDelegate:

@interface TextFieldViewController : UIViewController <UITextFieldDelegate> { 

然後在textFieldShouldBeginEditing:方法.m文件,添加移動文本字段了代碼。例如:

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
    myTextField3.frame = CGRectMake(myTextField3.frame.origin.x, myTextField3.frame.origin.y - /*whatever you want to subtract from the y value*/, myTextField3.frame.size.width, myTextField3.frame.size.height); 

    myTextField4.frame = CGRectMake(myTextField4.frame.origin.x, myTextField4.frame.origin.y - /*whatever you want to subtract from the y value*/, myTextField4.frame.size.width, myTextField4.frame.size.height); 

    myTextField5.frame = CGRectMake(myTextField5.frame.origin.x, myTextField5.frame.origin.y - /*whatever you want to subtract from the y value*/, myTextField5.frame.size.width, myTextField5.frame.size.height); 

    myTextField6.frame = CGRectMake(myTextField6.frame.origin.x, myTextField6.frame.origin.y - /*whatever you want to subtract from the y value*/, myTextField6.frame.size.width, myTextField6.frame.size.height); 

    return YES; 
} 
+0

如果文本字段被鍵盤遮擋,文本字段如何獲取消息?此外,該方法必須返回YES。 – Costique 2010-12-11 06:34:59

+0

加載視圖時,不會顯示任何鍵盤,因此可以輕敲任何文本字段。這會將他所說的所有文本字段(最低四位)移動到任意數量。也只是想知道,使用CGRectOffset而不是重新分配框架有什麼好處? – Jumhyn 2010-12-11 06:47:57