Как получить uicontrols по их идентификатору в среде iphone dev - PullRequest
3 голосов
/ 04 мая 2009

Я только начинаю изучать API iphone, и я сделал много программ для Windows, и я уверен, что есть способ, учитывая объект, переданный обработчику события, идентифицировать его идентификатор объекта или тег что-то.

Я создал серию кнопок UIB в конструкторе интерфейсов, и у каждого есть идентификатор объекта. Но я просто не вижу, где в iphone API вы можете получить этот идентификатор из объекта UIButton.

Я вижу, что все выбирают titleforstate, но это не работает для меня, потому что у них у всех одинаковый заголовок. Или я помещаю изображение в кнопку и использую заголовок в качестве идентификатора?

У создателя интерфейса есть «идентификатор создателя интерфейса», к которому, я полагаю, у меня нет доступа из iphone API, не так ли?

В разделе «Вид» атрибутов кнопки есть также параметр «Тег», но это число. Это подойдет, но я не вижу ни одного вызова API для этого.

Я просто пытаюсь выяснить, как идентифицировать элемент управления пользовательского интерфейса с помощью других средств, кроме его заголовка. Спасибо.

Ответы [ 2 ]

7 голосов
/ 04 мая 2009

он унаследован от NSObject, вам просто нужно вызвать переменную .tag

2 голосов
/ 15 августа 2009

Приведенный ответ отлично работает для меня, но где он задокументирован? Я смотрю на ссылку протокола NSObject и там нет упоминания об атрибуте тега или методе.

-(IBAction) buttonPressed:(id)sender {
    int tagNum = [sender tag];

[править] Оказывается, тег находится в NSView , а не в NSObject. Все, что наследуется от NSView, имеет атрибут tag.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...