Доступ к представлениям, созданным в Интерфейсном Разработчике - PullRequest
3 голосов
/ 15 апреля 2009

Я создал класс ChildViewController, а затем перо, которое использует этот класс.

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

Затем я создал еще два вида («Мальчик» и «Девушка»), которые я хотел бы иметь возможность скрывать за базовым видом, чтобы цвет фона отличался от цвета некоторых изображений в ImageView. Я назвал взгляды, которые я создал в IB «Мальчик» и «Девочка» ...

Но когда я возвращаюсь к своему коду, где я вызываю ChildViewController, я не уверен, как получить доступ к созданным представлениям, чтобы я мог вызвать insertSubView. Нужно ли создавать их экземпляры в коде? (возможно, в ViewDidLoad?) Создает ли перо экземпляры при загрузке?

Я не совсем понимаю, как обрабатывать несколько представлений для одного ViewController

edit =================

@ Пабло Санта Круз

Ваш ответ предполагает, что у меня есть два пера и два контроллера вида (по одному для каждого вида). Я хочу знать, могу ли я использовать один кончик и один контроллер, и загружать в UIViews. Кажется глупым создавать еще одно перо и контроллер, когда все, что нужно сделать, это изменить цвет фона и некоторую графику. Разве я не могу программно загрузить UIViews в UIViewController?

Ответы [ 3 ]

2 голосов
/ 15 апреля 2009

Добавьте IBOutlets в свой класс App Controller в XCode, а затем свяжите их в IB (ctrl-щелчок или щелчок правой кнопкой мыши) на вкладке соединений в Инспекторе к объекту.

Тогда вы сможете отправлять вызовы методов для объектов.

Код в Xcode должен выглядеть так:

@interface AppController : NSObject
{
   IBOutlet Girl girlIvarName1;
   IBOutlet Boy boyIvarName2;
}


@end
2 голосов
/ 23 июля 2009

Программный доступ к UIView можно получить, назначив значение его свойству тега, которое можно установить в IB на первой вкладке инспектора (Команда 1)

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

Как только тег установлен, вы можете получить доступ к представлению, используя следующий код в вашем UIViewController, который был initWithNibName для NIB, содержащего помеченное представление

UIView *aView = [self.view viewWithTag:100];
0 голосов
/ 15 апреля 2009

Вы можете получить экземпляры для своих просмотров IBuilder с помощью этого фрагмента кода:

boyViewController = [[BoyViewController alloc] initWithNibName:@"BoyViewController" bundle:nil];
girlViewController = [[GirlViewController alloc] initWithNibName:@"GirlViewController" bundle:nil];

Предполагая, что ваши имена файлов NIB - BoyViewController и GirlViewController. С этими случаями вы можете делать все, что вам нужно. То есть добавление их в родительское представление (с сообщением addSubView в родительском представлении).

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