2011-01-21 5 views

答えて

12

UITextFieldDelegateのShouldReturnメソッドを実装し、そこに次のテキストフィールドBecomeFirstResponder()を作成する必要があります。次に/ nextを押すと、次のフィールドに移動します。最後のテキストフィールドでreturnがヒットした場合、そのフィールドでResignFirstResponder()を呼び出します。

+0

ありがとうございました...まさに私が探していたもの... – SpokaneDude

0

テキストフィールドを含むビューを手動で移動する必要があります。これは、必要なテキストフィールドがキーボードの上にあるようにします。

+0

ディミトリス...私はあなたが私の質問を理解しているとは思わない...それはビューの問題ではない...それはキーボード上で次へをタップすると、次のテキストフィールド...最後のものになるまで、FirstResponderになりキーボードが消えます。 – SpokaneDude

18

「受け入れ可能な回答」は正しいですが、私は少しのコードでMonoTouchを初めて使う人には害はないと思いました。

public override void ViewDidLoad() { 
    base.ViewDidLoad(); 

    // make first text field have focus 
    this.txtMake.BecomeFirstResponder(); 

    // make 'return' shift focus to next text field 
    this.txtMake.ShouldReturn = delegate(UITextField textField) { 
     this.txtModel.BecomeFirstResponder(); 
     return true; 
    }; 

    // make 'return' on last text field save and close the form 
    this.txtModel.ShouldReturn = delegate(UITextField textField) { 
     this.txtModel.ResignFirstResponder(); 
     this.SaveAndClose(); 
     return true; 
    }; 
} 

private void SaveAndClose() { 
    // todo: do something with your data 

    // navigate back 
    this.NavigationController.PopViewControllerAnimated(true); 
} 

これが他の人に役立つと願っています。