gpt4 book ai didi

ios - Storyboard,删除 subview 并稍后在保留设计约束的情况下再次添加它们

转载 作者:行者123 更新时间:2023-11-29 12:43:29 27 4
gpt4 key购买 nike

好的,我有两个复杂的(UI-wise)UIViewControllers。他们共享一个 [super] viewcontroller。

一些 subview (按钮、标签、uiview)将根据一系列远程事件出现和消失。

我想做的是(好吧,已经做了),在我的一个 Storyboard中为两者设计 UI,然后在 viewWillLayoutSubviews 或 viewDidLayoutSubviews 中,最初从 View 中删除一些视觉元素。

但是,这些将在 View Controller 的生命周期中再次添加。

那么,我该如何设计我的 View ,最初是 [subview removeFromSuperview];然后添加这些元素使用我在设计期间添加的约束

此外,如果我错了,请纠正我,但由于我要删除 From 和 addSubview,我必须使每个 IBOutlet 都强大(否则它们将在 removeFromSubview 后丢失,对吗?)

无论如何,我们将不胜感激任何帮助/指点。

最佳答案

您必须通过遍历父 View 的约束(以及您要删除的 View 的约束,如果它们具有大小约束)来手动保存约束。你可以这样做,

-(void)saveConstraintsForView:(UIView *) viewToRemove {
for (NSLayoutConstraint *con in self.view.constraints) {
if ([con.firstItem isEqual:viewToRemove] || [con.secondItem isEqual:viewToRemove]) {
[self.constraintArray addObject:con];
}
}
}

而且,是的, View 的 IBOutlets 必须很强,这样当它们从父 View 中删除时它们就不会被释放。

关于ios - Storyboard,删除 subview 并稍后在保留设计约束的情况下再次添加它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24248544/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com