为啥loadview中的self.view.tag和其他的不一样
Posted
技术标签:
【中文标题】为啥loadview中的self.view.tag和其他的不一样【英文标题】:Why self.view.tag in loadview is different with others为什么loadview中的self.view.tag和其他的不一样 【发布时间】:2013-09-06 16:50:39 【问题描述】:当 self.view.tag
在 loadView 中设置为 10,但在 viewDidload
它的 tag 为 0
为什么 ?谢谢
- (void)loadView
[super loadView];
NSLog(@"loadView %d",self.view.tag);
[self.view setTag:10];
self.view = [[UIView alloc] initWithFrame:self.view.frame];
self.view.backgroundColor = [UIColor yellowColor];
#pragma mark view loaded
- (void)viewDidLoad
[super viewDidLoad];
NSLog(@"ViewDidload %d",self.view.tag);
[self.view setTag:10];
【问题讨论】:
你能给我们看看代码吗? 一小时后仍然没有代码:投票关闭 我将您的代码粘贴到问题中并正确格式化。不幸的是,Stack Overflow 不支持blink
标签。
【参考方案1】:
通常不实现 loadView 方法。系统调用它以创建您的视图层次结构。在它被调用的时候,你的视图将不存在。
为什么要实现 loadView?你可能不应该。
引用文档:
如果您使用 Interface Builder 创建视图并初始化 视图控制器,你不能重写这个方法。
您在 loadView 方法中添加了什么代码?
【讨论】:
如何解释这个方法- (void)loadView [super loadView]; NSLog(@"loadView %d",self.view.tag); [self.view setTag:10]; self.view = [[UIView alloc] initWithFrame:self.view.frame];以上是关于为啥loadview中的self.view.tag和其他的不一样的主要内容,如果未能解决你的问题,请参考以下文章
单元测试(Kiwi):调用 loadView 和 viewDidLoad 后,测试中的属性始终为零
如何在“loadView”之外创建的按钮方法中更改“self.view”