Ошибка с элементом кнопки панели навигации iPhone (UIButtonBarItem) - PullRequest
2 голосов
/ 13 декабря 2011

Я создал один проект представления в xcode 4. Я добавил объект элемента панели навигации. В это я добавил кнопку панели навигации под названием «Готово». Все с помощью Xcode перетаскивают. К этой кнопке я прикрепил очень простой IBAction

- (IBAction) newContactDoneBtn:(id)sender
{  
    NSLog(@"INSIDE newContactDoneBtn");
}

В «отправленных действиях» я связал эту кнопку «Готово» с этим новым IBActionContactDoneBtn. Все идет нормально. Если я компилирую и запускаю, он работает нормально, т.е. я вижу журнал сообщений.

Теперь вот кикер, если к этой кнопке «Готово» я прикрепляю модальную раскадровку, т.е. когда пользователь нажимает на эту кнопку «Готово», она переносит их в другой контроллер представления ... Моя пользовательская IBaction «newContactDoneBtn» никогда не вызывается, и я вижу новый экран. Теперь, почему это будет?

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

Возможно, это ограничение UIBarButtonItem, но кто-нибудь может сказать мне, если я что-то пропустил?

1 Ответ

1 голос
/ 13 декабря 2011

Добавление перехода к кнопке, по-видимому, отменяет любое действие, которое вы к ней применили. Действие все еще подключено в конструкторе интерфейсов после того, как вы установили переход?

Почему вы хотите, чтобы обе вещи произошли? В каком порядке они должны быть выполнены, если вы смогли одновременно запустить действие и переход?

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

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