[iOS] UITextField 輸入完成跳至下一個UITextField

本文介绍如何在iOS开发中实现UITextField输入完成后自动跳转到下一个输入框的功能。通过遵循UITextFieldDelegate协议,并重写textFieldShouldReturn方法来实现不同输入框间的跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文摘自http://cg2010studio.wordpress.com/2012/10/06/ios-uitextfield-%E8%BC%B8%E5%85%A5%E5%AE%8C%E6%88%90%E8%B7%B3%E8%87%B3%E4%B8%8B%E4%B8%80%E5%80%8B/

因为要翻墙,所以转过来,以后不乱转好东西了,国内情况就是互相转,没有自己去真正的理解,搞得用完之后又忘了,多研究还是比较好的

為了方便使用者輸入完之後跳至下一個欄位Text Field當然可以實作出如此的功能!那我們可以怎麼做呢?可以先參考我上篇文章UITextField 輸入完成讓鍵盤消失

這樣的行為也要交給delegate來幫我們處理,所以必須遵從UITextFieldDelegate協定。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-( BOOL )textFieldShouldReturn:(UITextField *)textField
{
     if (textField == _cityTextField) {
         //[textField resignFirstResponder];
         [_districtTextField becomeFirstResponder];
         return NO;
     }
     else if (textField == _districtTextField) {
         //[textField resignFirstResponder];
         [_addressTextView becomeFirstResponder];
         return NO;
     }
     return YES;
}

以上程式碼有何效果,可以參考下圖,首先反應器(Responder)是在_cityTextField手上,當我輸入完_cityTextField,就將反應器交給_districtTextField,同樣當我輸入完_districtTextField,就把反應器交給_addressTextView。

becomeFirstResponder

Notifies the receiver that it is about to become first responder in its window.

- (BOOL)becomeFirstResponder

Return Value

YES if the receiver accepts first-responder status or NO if it refuses this status. The default implementation returns YES, accepting first responder status.

Discussion

Subclasses can override this method to update state or perform some action such as highlighting the selection.

A responder object only becomes the first responder if the current responder can resign first-responder status (canResignFirstResponder) and the new responder can become first responder.

You may call this method to make a responder object such as a view the first responder. However, you should only call it on that view if it is part of a view hierarchy. If the view’s window property holds a UIWindow object, it has been installed in a view hierarchy; if it returns nil, the view is detached from any hierarchy.

Availability

Available in iOS 2.0 and later.

See Also

– isFirstResponder
– canBecomeFirstResponder

Declared In

UIResponder.h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值