Пользовательская клавиатура iphone - PullRequest
0 голосов
/ 12 января 2011

Я хочу создать собственную клавиатуру для своего приложения и использовать кнопку отправки для установки символа.

Если я назову все свои кнопки, например * a, * b, * c, * d и т. ДБудет ли работать один IBAction, который принимает отправителя, захватывает имя, например * a> a?Если так, то как это сделать.

Кроме того, можно ли назвать кнопку следующим образом * 0, * 1, * 2 вместо * ноль, * один, * два?

Спасибо

Ответы [ 3 ]

1 голос
/ 12 января 2011

Вам лучше использовать теги для кнопок.

- (IBAction)buttonTapped:(id)sender {

    NSLog(@"Button pressed: %i", sender.tag);    

    switch (sender.tag) {

        case 0:
            /*  Button A Pressed  */
            break;
        case 1:
            /*  Button B Pressed  */
            break;

        /*  and so forth...  */
    }   
}

Вам нужно будет установить теги либо в Интерфейсном Разработчике, либо программно.

1 голос
/ 12 января 2011

Нет, переменные на самом деле не работают таким образом.Вы путаете сам объект с именем переменной, которая указывает на него.Когда вашей IBaction передается объект UIButton, он не передает имя переменной вместе с ним, ваш метод определяет переменную, которая ссылается на него как sender.И нет, имена переменных не могут начинаться с цифры в Objective C.

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

1 голос
/ 12 января 2011

Если вы хотите указать несколько кнопок UIB на один и тот же IBAction, а затем извлечь текстовую метку кнопки, вы можете просто использовать свойство currentTitle отправителя.

Например:

- (IBAction)padButtonClicked:(id)sender {
    NSLog(@"Button pressed: %@", [sender currentTitle]);    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...