Во всяком случае, как я могу иметь несколько просмотров
в одном XIB и инициализировать их
должным образом? Например, если я хочу отобразить
один из моих пользовательских видов в центре
экрана, как бы я это сделал?
Вы можете иметь столько UIView
s, сколько хотите в своей xib. Обычно вы делаете один «основной» вид - тот, который подключен к свойству представления владельца файла (т. Е. Ваш контроллер представления) - а остальные могут находиться в XIB на том же уровне. Вы также можете подключить их к другим свойствам в контроллере вида.
Вы можете сделать эти виды как подпредставлений для основного вида. (Мало, это много зрения). Допустим, у вас есть два вида, FooView
и BarView
. Вы хотите, чтобы FooView
присутствовал при запуске. Таким образом, вы просто устанавливаете BarView
, чтобы быть скрытым в IB. Тогда ваш контроллер представления может выглядеть примерно так:
@interface MyViewController : UIViewController
{
FooView* fooView;
BarView* barView;
...
}
...
@property (nonatomic, retain) IBOutlet FooView* fooView;
@property (nonatomic, retain) IBOutlet BarView* barView;
...
Затем, внутри вашего кода, когда вы хотите изменить представления, просто используйте метод setHidden:
, чтобы скрыть один и показать другой.
В качестве альтернативы, если я разделю взгляды
в несколько XIB, как я могу иметь
они ссылаются на тот же контроллер
объект для их IBOutlets / IBActions?
У вас могут быть другие xibs, совместно использующие тот же контроллер представления. Я сделал это много сам. Просто установите для владельца файла соответствующий класс.