2015-11-29 4 views
3

У меня есть три быстрых клавиши, которые я пытаюсь добавить в свою программу для iPad. Вот триПочему только две из этих трех работ addKeyCommand

 // add the "change Status" keyboard shortcut 
    let statusShortcut = UIKeyCommand(input: "s", modifierFlags: UIKeyModifierFlags.Command, action: "changeStatusPressed:", discoverabilityTitle: "Change Status of Meeting") 
    addKeyCommand(statusShortcut) 

    // add the "add user" keyboard shortcut 
    let addShortcut = UIKeyCommand(input: "+", modifierFlags: UIKeyModifierFlags.Command, action: "addButtonPressed:", discoverabilityTitle: "Add Participant to Meeting") 
    addKeyCommand(addShortcut) 

    // add the "remove user" keyboard shortcut 
    let removeShortcut = UIKeyCommand(input: "-", modifierFlags: UIKeyModifierFlags.Command, action: "removeButtonPressed:", discoverabilityTitle: "Remove Participant to Meeting") 
    addKeyCommand(removeShortcut) 

только второй два признаны и отображаться в экране наложения при нажатии на клавишу Command на клавиатуре. Кроме того, работают только два вторых.

Все действия определены правильно. Предложения будут оценены.

+0

Для того, чтобы убедиться в отсутствии последовательности, я изменил последовательность из трех предыдущих, и я до сих пор вижу только модификаторы + и -. –

+0

Я дал очень поздний ответ, надеюсь, вам это поможет! – owlswipe

ответ

2

Хорошо, я относительно новичок в этом, но я думаю, что вы делаете это неправильно. Вместо того, что вы делаете, сделайте это.

ли все это после того, как (снаружи) вашего ViewDidLoad:

override func canBecomeFirstResponder() -> Bool { 
return true 
} 

override var keyCommands: [UIKeyCommand]? { 
    return [ 

UIKeyCommand(input: "S", modifierFlags: .Command, action: "changeStatusPressed:", discoverabilityTitle: "Change Status of Meeting"), 
UIKeyCommand(input: "+", modifierFlags: .Command, action: "addButtonPressed:", discoverabilityTitle: "Add Participant to Meeting"), 
UIKeyCommand(input: "-", modifierFlags: .Command, action: "removeButtonPressed:", discoverabilityTitle: "Remove Participant from Meeting"), 

    ] 
} 

func changeStatusPressed(sender: UIKeyCommand) { 
    print("command-s selected") 
    // code for changeStatusPressed 
} 

func addButtonPressed(sender: UIKeyCommand) { 
    print("command+ selected") 
    // code for addButtonPressed 
} 

func removeButtonPressed(sender: UIKeyCommand) { 
    print("command- selected") 
    // code for removeButtonPressed 
} 

Ваш вопрос может быть в любом месте от неправильной капитализации в функции, или синтаксис, или нечто совсем другое! Надеюсь, это вам поможет (извините, так поздно).

+0

Спасибо Не понял, что это не должно быть в ViewDidLoad –

 Смежные вопросы

  • Нет связанных вопросов^_^