Динамически меняйте UIView раскадровки и оставляйте остальные подпредставления на месте
У меня есть storyboard
и я пытаюсь изменить UIView
установить пользовательский градиент, который я создал.
я пытался self.view = myNewViewWithGradient;
и градиент отображается, но другого элемента не видно, так как я заменяю текущий вид.
Как я могу динамически установить новый вид и сохранить элементы, которые были добавлены в раскадровку?
Я попытался повторно добавить подпредставления (которые имеют ссылку на выход) к этому новому представлению, но ничего не отображается.
[self.view addSubview:self.txtPassword];
Спасибо за вашу помощь.
ОБНОВЛЕНИЕ: вот скриншот розеток, установленных в раскадровке:
1 ответ
Вы можете добавить все свои подпредставления в новый вид, например:
[myNewViewWithGradient setFrame:self.view.frame];
for (UIView* v in [self.view subviews]) {
[myNewViewWithGradient addSubview:v];
}
self.view = myNewViewWithGradient;
но я не вижу, чего ты пытаешься достичь, ты просто хотел новый фон? Вы можете сделать что-то вроде:
[self.view addSubview:myNewViewWithGradient];
[self.view sendSubviewToBack:myNewViewWithGradient];
Ваш sendSubviewToBack:myNewViewWithGradient
является UIView
? Если это не помогло, пожалуйста, предоставьте больше информации, чтобы мы могли лучше помочь вам:)