использование конструктора интерфейса для настройки и создания экземпляров объектов пользовательского интерфейса (но не для их отображения в представлении) - PullRequest
1 голос
/ 15 августа 2010

Я работаю над своим первым приложением для iOS. У меня не было проблемы с использованием конструктора интерфейса стандартным способом.

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

Я попытался просто добавить кнопку (сегментированный элемент управления) к «документу» в конструкторе интерфейса, добавить розетку и добавить ее к self.navigationItem в viewDidAppear :, но переменная выхода в null в viewDidAppear :.

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

1) Можно ли настраивать и создавать экземпляры объектов пользовательского интерфейса в конструкторе интерфейсов, подключать их к розетке и отображать их позже программным способом? Если да, то как лучше это сделать?

2) Могу ли я добавить свою кнопку в контроллер навигации, созданный в другом перо, непосредственно в конструкторе интерфейсов?

Спасибо! -Джефф

Ответы [ 2 ]

0 голосов
/ 15 августа 2010

Кажется, я понял это.

Создание нового пера, владельцем которого является UIViewController. Создайте и настройте UISegmentedControl. Установите представление для UIViewController в UISegmentedControl.

Programatically:

UIViewController* buttonController = [[UIViewController alloc] initWithNibName:@"AddRemoveCustomButton" bundle: nil];
UIView* segmentedControl = [buttonController view];
UIBarButtonItem* bbi =  [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
self.navigationItem.rightBarButtonItem = bbi;
[bbi release];
[segmentedControl release];
[buttonController release];

Но есть ли другой способ ссылки на объект UINavigationController, даже если он был создан в другом перо? Если это так, я мог бы делать все в IB и избежать «ручного» решения.

Спасибо! -Джефф

0 голосов
/ 15 августа 2010

Создать кнопку.Посмотрите в инспекторе в Интерфейсном Разработчике.Есть флажок с надписью «скрытый».Проверь это.Создайте розетку для своей кнопки.

UIButton *myButton;

Позже вы можете позвонить

[myButton setHidden:NO];
...