2011-12-23 3 views
2

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

Что я хочу сделать, чтобы создать UIViews (или UIViewControllers не совсем уверен, как это работает) в Interface Builder скажут ... 10 из них и использовать их в соответствии с тем, что пользователь выбирает.

Например, в штате A я хочу показать ему виджеты 1,2 и 3; в виджетах категории 5 3,5 и 7 и т. Д.

EDIT: что я имею в виду по состоянию, то, что пользователь выбрал на предыдущих шагах, все они ведут к одному и тому же UIViewController, но он должен представлять себя по-другому в соответствии с вышеупомянутым «государством». И теперь я не могу создать другой UIViewController для каждой комбинации.

А также возможность размещения их в родительском представлении является обязательным.

Любые предложения?

ответ

2

ОК, поэтому в ответ на ваш комментарий вы действительно можете сделать то, что хотите. Создайте отдельный файл nib для вашего пользовательского представления, скажем, MyView.xib, и сделайте класс Владельца Файла тем, чем является ваш класс контроллера.

Затем в контроллере представления, создать IBOutlet свойства для пользовательского вида:

@property (nonatomic, assign) IBOutlet MyView * myView; 

В файле бобы, подключить к myView выходу контроллера представления, на вид сверху уровня.

Затем, чтобы загрузить представление в коде, все, что вам нужно сделать, это:

[[NSBundle mainBundle])loadNibNamed: @"MyView" owner: self options: nil]; 

и перо будет загружен, и назначен myView. Затем вы можете добавить его как подвью.

Чтобы сделать эту работу с другим контроллером, просто убедитесь, что она имеет именованную розетку, вызовите вызов loadNibNamed:, и он будет работать.

+0

В идеале я хочу создать все виджеты UIView в одном или нескольких XIB и alloc-initwithFrame их в соответствии с состоянием приложения и добавить их в супервизор. – magtak

+0

Чтобы дать вам идею: у меня есть секвенция UITableView, которая в конечном итоге приводит к UIViewController, о котором я говорю. теперь в соответствии с выборами, которые пользователь сделал в этих UITableViewControllers, я хочу представить другое «состояние». Как и в случае с другой комбинацией «виджетов». – magtak

+0

и большой жирный зеленый чек для вас, сэр! – magtak

Смежные вопросы