ios - 使用 nib 中的 View 重新加载 UIView 属性

标签 ios objective-c uiview uiviewcontroller xib

我的 View Controller xib 文件中有一些 UIView - 1、2、3。

View 1 是 View Controller 的主视图。

View 2 和 3(在 xib 中位于主视图 1 之外)也是 View Controller 中的属性。因此,我不需要初始化它们。我可以用代码将它们添加到我的主视图中。

我的问题是:我可以重新加载 View 2 和 3。例如,在更改 View 2 中的标签和 View 框架后,我可以重新加载 View 以恢复所有原始布局等吗?

最佳答案

你可以使用这样的东西:

NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"MainViewController" owner:self options:nil];
UIView *mainViewControllerSuperView = [nibArray objectAtIndex:0];
NSArray *superViewsArray = [mainViewControllerSuperView subviews];
UIView *secondView = [superViewsArray objectAtIndex:1]; // index of view you need

self.mainViewController.secondView = secondView;

或单行:

self.mainViewController.view = [[(UIView *)[[[NSBundle mainBundle] loadNibNamed:@"MainViewController" owner:self options:nil] lastObject] subviews] objectAtIndex:1];

关于ios - 使用 nib 中的 View 重新加载 UIView 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510771/

相关文章:

ios - 用背景图片覆盖 UIView

ios - 项目中的哪个位置适合放置要在 iOS 应用程序中读取的资源文本文件?

ios - 使用 NSUserDefaults 在 SWIFT 中添加 24 小时倒计时器

objective-c - Core Data 对相关对象的 NSSet 进行排序时出现问题

objective-c - 如何将 iOS 元素组合在一起,以便可以将它们作为单个元素进行操作

javascript - 有没有办法留下阅读电子邮件的痕迹,以便稍后由同一设备上的应用程序阅读?

javascript - 从 iOS UIAutomation 发出同步 HTTP GET 请求或调用 JavaScript 中的 shell 脚本

IOS MPMoviePlayerViewController 不断加载

ios - 具有粘性页脚 UIView 和动态高度内容的 UIScrollView

objective-c - 使用 navigationController 的白屏