2012-11-26 13 views
21

在MainCoreboard編輯器視圖控制器底部的XCode IDE中,有兩個框:First Responder和Exit。故事板編輯器中的「First Responder」和「Exit」框的用途是什麼?

我知道一個firstResponder是在程序中編碼的,但在故事板編輯器中,我似乎無法做任何有用的事情。

我能夠使用這個區域的第一響應者以某種方式設置視圖的第一響應者嗎?我希望第一個文本框在加載時處於活動狀態,並且我嘗試了正確的單擊並拖動無效。我知道我可以在viewDidLoad方法中以編程方式設置它,但是有沒有在這裏做的一些方法?

什麼是綠色出口?

First Responder (orange) and Exit (Green) - what are they for?

+1

OK,無視退出的問題,我在這裏找到了一個很好的答案:http://stackoverflow.com/questions/12416050/xcode-4-5-storyboard-exit?rq=1 – Madivad

+1

「我知道在代碼中編程的第一個響應者是什麼,但在故事板編輯器中,我似乎無法做任何有用的事情。「 - 經驗教訓:IB並不比使用代碼更好。 – 2012-11-26 12:49:48

+1

@ H2CO3我認爲IB比代碼更好。當然,UI的最初構建是其最大的作用。但是,我和你在一起,沒有任何代碼可以做任何事情的真正替代品。 – Madivad

回答

8

我從來沒有使用它,可能永遠也不會,但你可以指定一個目標是在第一線,從UI接收的事件。

我想你可能正在創建一個UIView子類並將其添加到UIViewController中,但實際上你希望其他一些對象接收和處理除了要將它添加到的UIViewController之外的事件。

+0

感謝您的鏈接,它確實使它不那麼泥濘,但仍然很模糊。我可以在後面說一下:「搖動以撤消」,或者剪切/複製/粘貼的菜單項,但仍然無法理解爲什麼你想要一個零目標。即你不知道你想要撤消什麼?和/或你想要viewController來處理它? – Madivad

9

有此問題沒有很好的答案,所以我張貼我的答案:

here

注意:您可能不會使用第一響應者非常多。這是一個代理對象,指的是任何對象在任何給定時間都有第一響應者狀態。它也存在於你的筆尖,你可能從來沒有必要使用它。作爲一個例子,你可以將Touch Up Inside事件從一個按鈕連接到First Responder的切入選擇器。如果在某個時候文本字段有輸入焦點,則可以按該按鈕使文本字段(現在是第一個響應者)將其文本剪切到粘貼板。

編輯:

1)首先響應是非常有用的,如果你使用的是文本字段與鍵盤的通知。我用它來使鍵盤消失,使出口到類的變量currentFirstResponder,並在viewWillDisappear:

[self.currentFirstResponder resignFirstResponder]; 

2)你可以閱讀有關放鬆塞格斯(「退出」框)here

+3

感謝您在完整的博客中提供的誠實和快速解決方案。 –

相關問題