Скажите, что у меня есть UIView, который я хотел бы повторно использовать в нескольких контроллерах представления, учитывая, что это довольно общий объект UIView с высоким значением повторного использования (например, объект UITextField
или UISegmentedControl
). Насколько я понимаю, было бы намного проще использовать этот UIView, если бы я написал UIView в коде, а не создавал XIB с помощью Interface Builder. Я пришел к такому выводу, потому что если UIView написан в коде, то я могу просто инициализировать новый экземпляр этого UIView в любом контроллере представления:
MyGreatReusableView *greatReusableView = [[MyGreatReusableView alloc] initWithFrame:CGRectMake(...)];
... и затем напрямую получить доступ к свойствам и атрибутам этого UIView, как со стандартными элементами управления UIView, такими как UITextField
с его .text
, .textColor
и т. Д. Свойствами.
Однако, если я создаю UIView в качестве XIB, то он должен быть привязан (через владельца файла или IBOutlet к объекту View в XIB) к конкретному контроллеру представления и, следовательно, может использоваться только в этом представлении контроллер. Кроме того, я могу получить доступ только к свойствам элементов управления в XIB, используя IBOutlets, которые подключены к этому контроллеру представления.
Я думаю, что совершенно неправильно понял что-то в отношении файлов XIB, так как это кажется довольно ограниченным! Если бы кто-то мог дать разъяснения о возможности повторного использования файлов XIB в нескольких контроллерах представления и, если да, привести пример решения на основе кода или решения на основе XIB, я был бы очень признателен.
Заранее спасибо за любую помощь!