Как вы связываете события в контроллерах представления, созданных полностью в коде, без Interface Builder? - PullRequest
0 голосов
/ 07 апреля 2011

Я создал UINavigationController с UINavigationBar, у которого UIBarButtonItem находится в правильном положении ПОЛНОСТЬЮ в коде, файла IB / .xib нет.

Как новичок в XCode (v4) из C #, я пытаюсь понять, как перехватывать и обрабатывать событие нажатия кнопки на панели навигации.

В C # будет событие щелчка, которое вы должны переопределить, которое будет содержать код обработки события.

Я нашел несколько примеров, которые используют IB для подключения объектов пользовательского интерфейса, таких как кнопка, к методу в контроллере представления. Тем не менее, я не могу найти примеры того, как добиться этого исключительно в коде.

Любые ссылки на идеи приветствуются.

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

В вашем методе viewDidLoad создайте UIBarButtonItem, используя один из следующих инициализаторов ...

– initWithImage:style:target:action:
– initWithTitle:style:target:action:

Последние два параметра инициализатора позволяют указать объект, который будет вызываться при возникновении действия, и методдля вызова этого объекта, т.е.

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(methodForItem:)];

Ссылка на класс Apple UIBarButtonItem

1 голос
/ 07 апреля 2011

Вы захотите использовать Цель / Действие в правой части кнопки.Поэтому после того, как вы создадите экземпляр UIBarButtonItem, вы сделаете что-то вроде этого.

[barButtonItem addTarget:self action:@selector(methodThatShouldBeCalled:) forControlEvents:UIControlEventTouchUpInside];

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