2016-04-01 19 views
0

我有一個字符串條目列表,在我的一個表單中的一個彈出式按鈕的菜單中輸入。這個相同的彈出窗口在另外兩個窗口中,在不同的故事板上。列表中的項目也在代碼中的數組中。作爲參考,這裏的陣列:在幾個彈出窗口和故事板上共享一個彈出按鈕菜單?

static let selections = ["NTSC", "ATSC", "AM", "FM", "Other"] 

有沒有什麼辦法可以分享所有這一切?

理想情況下,我會使用綁定,並綁定到數組。但是,菜單中有分隔符,我不認爲我可以在數組中定義它?

失敗了,有沒有一種方法可以將菜單放在某個故事板的某個地方,然後從各種屏幕上引用它?

和失敗,我可以輕鬆地將菜單從一個地方複製到另一個地方嗎?我的嘗試導致在故事板中創建一個新菜單,我似乎無法將其粘貼到彈出式按鈕本身中。

回答

0

NSPopupButton內部包含一個NSMenu對象,該對象爲它提供了選擇項。您可以使用一個類方法來構建一個類,該方法使用您想要的NSMenuItem生成NSMenu,然後將彈出按鈕的屬性設置爲生成的NSMenu對象的menu屬性。

我不認爲有一種很好的方法可以在Storyboard中構建這個NSMenu,並且可以共享它;我想你必須在代碼中創建NSMenu,然後用viewDidLoad方法手動連接。但是,您可以將NSPopUpButton對象放在故事板中,並將它們連接到控制器;您只需稍後爲他們手動設置menu即可。

+0

看來你可以複製菜單,然後將其粘貼到故事板本身,然後將其綁定到按鈕的「菜單」項。但是,我無法找到一種方法來刪除原始菜單,也無法通過屏幕共享它。代碼是! –

相關問題