2015-08-03 10 views
1

Я использую последний XCode 6.4 с Swift 1.2. Я пытаюсь программным образом выбрать NSToolbarItem в своем NSToolbar. Я много искал в Интернете, и должен быть метод для NSToolbar под названием setSelectedItemIdentifier, но этот метод не exist (больше?).Как программно выбрать NSToolbarItem на NSToolbar с использованием Swift 1.2/Cocoa

Есть ли другой способ достичь этого? Возможно, что-то вроде:

NSApplication.sharedApplication().sendAction(Selector("click"), to: myNSToolbarItem, from: sender) 

Но я не знаю, что я должен использовать вместо «нажмите кнопку». Спасибо заранее!

Обновление после ответа Нео: Я хочу, чтобы toolbaritem стал визуально «выбранным», что меняет его цвет. Я знаю, как вызвать func, но это не изменит «выбранный» -state панели инструментов. Итак, если бы я мог имитировать щелчок мышью на nstoolbaritem, это решило бы мою проблему, я предполагаю (или замену NSToolbar.setSelectedItemIdentifier).

ответ

0

Хорошо, что ваш ToolbarItem связан с func в вашем ViewController ... Единственное, что вам нужно сделать, это вызвать функцию func, как вы называете любой другой func, или есть что-то особенное?

Не могли бы вы дать мне еще код?

0

selectedItemIdentifier теперь является устанавливаемым объектом на NSToolbar, который может использоваться вместо setSelectedItemIdentifier. Убедитесь, что NSToolbarItem можно выбрать (если используется Interface Builder, это отключено по умолчанию), и что вы установили идентификатор элемента панели инструментов (или используйте ItemIdentifier элемента NSToolbarItem).

Затем просто установите selectedItemIdentifier как действительный идентификатор элемента панели инструментов. При внедрении без кадровых расстановок:

//Create the toolbar item and set an identifier 
let demoToolBarItem = NSToolbarItem(itemIdentifier: "account") 

//Set the NSToolbarDelegate 
preferencesToolbar.delegate = self 

//Implement toolbarSelectableItemIdentifiers(NSToolbar) 
func toolbarSelectableItemIdentifiers(NSToolbar) -> [String]{ 
    return ["account"] 
} 

//Set the selected item on the toolbar 
preferencesToolbar.selectedItemIdentifier = "account" 
+0

Большое спасибо! Оно работает! –