2010-11-23 66 views
18

也許這個時間已經晚了,但我無法找到我可以在哪裏設置界面查看器對話框的整體Tab鍵順序,就像我可以使用Visual Studio一樣。界面構建器中的Tab順序?

我錯過了什麼? Tab鍵順序都是彎曲的。 Command-R模擬顯示它。

+0

請編輯您的問題包括「tab順序」您指的截圖,以及你發現「歪」。 – 2010-11-24 00:19:56

回答

36

您正在尋找的Cocoa術語是「重點視圖循環」。使用initialFirstRespondernextKeyView網點按您希望通過它們選擇的順序將視圖連接在一起。請注意,可以接收鍵盤焦點的項目將根據全鍵盤訪問設置(在系統偏好設置>鍵盤中)更改;如果禁用,Tab鍵會跳過您的鍵視圖循環中的各個項目。

這是在文檔here中提到的。

+1

謝謝。有沒有辦法從界面生成器本身設置訂單?我的意思是,如果你只是從頭開始構建一些東西,它會有一個給定的Tab順序,我相信這是控制創建的順序。如果我將最後一個控件添加到視圖本身的「第一個位置」,它仍然是最後一個,儘管它看起來應該是第一個。我想我的問題是,是否有一種方法可以從界面生成器本身調整該順序,如果可能的話,不用編程。 – JasonGenX 2010-11-24 17:35:20

+3

是的,當我說「網點......將視圖連接在一起」時,我正在談論你可以從Interface Builder中做的事情。您使用窗口的initialFirstResponder的出口設置「第一個位置」。 – 2010-11-24 17:44:01

2

讓商店被命名爲a,b和c。 Mac的默認選項卡順序是a -> b -> c -> a

但你想要的選項卡順序是a -> c -> b ->a

enter image description here

使用IB:

設置ainitialFirstResponder

然後將nextKeyView作爲a to c, c to b and c to a

但我更喜歡使用代碼,在這裏它變得更容易添加更多。正如在複雜的用戶界面可能有30多個控件,你可能需要洗牌,甚至插入新的控制!

這樣也可以達到一樣的效果:

[self.a setNextKeyView:self.c]; 
[self.c setNextKeyView:self.b]; 
[self.b setNextKeyView:self.a];