2013-04-25 21 views
-1

我想知道我怎麼能辭職我的數字文本框?如何在iOS中放棄數字文本字段?

我在創建textfieldsviewDidLoad方法中有一個循環,如何在觸摸視圖中的任何位置時觸摸該應用程序,該如何解除鍵盤鎖定?

+0

看看相關的問題,你的問題。幾個已經回答了這個問題。在發佈新問題之前,請查看相關問題。 – rmaddy 2013-04-25 03:56:04

回答

0

你也可以做UIView的背景觸摸工作。正如我已經給出了下面的步驟。

1)將UIView的類更改爲UIControl。

enter image description here

2)從觸摸UIControl的事件的事件向下拖動控制。

enter image description here

3)連接到文件的所有者你的背景觸摸IBAction爲method.And寫代碼辭職第一響應。

-(IBAction)backgroundtouch:(id)sender 
{ 
    [_yourTextField resignFirstResponder]; 
} 

enter image description here

2

您以同樣的方式辭去常規(非數字)文本字段。

將您的視圖控制器設置爲文本字段委託,一旦編輯完成,您可以在該文本字段上resignFirstResponder,鍵盤將關閉。

You can also use a UITapGestureRecognizer assigned to the viewand then call resignFirstResponder when it's hit(示例代碼可以在我連接的這兩個鏈接中找到)。

+0

你可以給我一個關於如何做到這一點的例子嗎?非常感謝! – 2013-04-25 03:35:53

+0

使用UITapGestureRecognizer,我如何知道dismiss方法中應該放棄哪個texfield?謝謝! – 2013-04-25 03:37:08

+0

您可能需要跟蹤哪些文本字段已經開始編輯(通過代理方法),或者您可以簡單地退出*全部*。 – 2013-04-25 03:37:57

3

致電endEditing:。這有一個好處,就是你不需要知道第一響應者究竟是誰!這是一個UIView方法,並且它的所有子視圖操作和你在一個UIViewController,而所有這些文本字段是它的子視圖,這樣你就可以簡單地這樣說:

[self.view endEditing:YES]; 

至於其中放置這一行代碼,這取決於你想要做出什麼反應。你說「只要我觸摸到任何地方」;但是有什麼看法?如果它是UIViewController的整體視圖,那麼,正如已經指出的那樣,您可以將一個UITapGestureRecognizer放在self.view上,並使其操作方法處理程序調用endEditing:,如圖所示。

+0

這是我的書對手勢識別器的討論:http://www.apeth.com/iOSBook/ch18。html#_gesture_recognizers – matt 2013-04-25 03:51:27

+0

這裏是我的書討論解除鍵盤的一般問題:http://www.apeth.com/iOSBook/ch23.html#_summoning_and_dismissing_the_keyboard – matt 2013-04-25 03:52:03

相關問題