UIToolbar реализован с раскадровкой: как изменить кнопку? - PullRequest
1 голос
/ 08 января 2012

в моем приложении я реализовал эту панель инструментов в раскадровке:

enter image description here

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

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

[toolbarButtons replaceObjectAtIndex:4 withObject:newButton];

Мне интересно, возможно ли это и в моем случае, когда панель инструментов и кнопки реализованы через раскадровки. Есть идеи?

Заранее спасибо, Яс

Ответы [ 2 ]

1 голос
/ 08 января 2012

Если ваш UIToolbar является частью UINavigationController, вы можете получить к нему доступ напрямую с помощью свойства toolbarItems.В противном случае вам придется создать IBOutlet в вашем viewController и связать панель инструментов с ним, чтобы получить к нему доступ.

Это будет иметь место, если вы используете раскадровку или NIB.

0 голосов
/ 08 января 2012

Если вы создали розетки, используйте свойство Outlet, чтобы изменить его.

self.myToolBarButton = newButton;

где "myToolBarButton" - это имя, которое вы дали этой кнопке.

...