2011-01-21 28 views

Trả lời

12

Bạn phải triển khai phương thức ShouldReturn của UITextFieldDelegate và trong đó làm cho trường văn bản tiếp theo là BecomeFirstResponder(). Sau đó trở lại/tiếp theo sẽ đưa bạn đến trường tiếp theo. Nếu trả về được nhấn trên trường văn bản cuối cùng, bạn sẽ gọi ResignFirstResponder() trên trường đó.

+0

Cảm ơn bạn ... chính xác những gì tôi đang tìm kiếm ... – SpokaneDude

0

Bạn phải di chuyển chế độ xem theo cách thủ công có chứa các trường văn bản, theo cách mà trường văn bản bạn muốn nằm phía trên bàn phím.

+0

Dimitris ... Tôi không nghĩ bạn hiểu câu hỏi của mình ... không phải là vấn đề với chế độ xem ... đó là khi tôi nhấn Tiếp theo trên bàn phím, tôi muốn trọng tâm di chuyển đến trường văn bản tiếp theo ... cho đến khi nó đến cái cuối cùng, lúc đó nó trở thành FirstResponder và bàn phím biến mất. – SpokaneDude

18

"Câu trả lời được chấp nhận" là đúng, nhưng tôi nghĩ rằng một mã nhỏ sẽ không gây tổn thương cho những người mới dùng 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); 
} 

Hy vọng điều này sẽ giúp người khác.

Các vấn đề liên quan