addSubview 崩溃 iOS 5.1 但不是 6.1
Posted
技术标签:
【中文标题】addSubview 崩溃 iOS 5.1 但不是 6.1【英文标题】:addSubview crashes iOS 5.1 but not 6.1 【发布时间】:2013-04-16 02:27:47 【问题描述】:以下内容在 6.1 中运行良好,但应用在 5.1 中崩溃...
weeklyHeaderViewController =[[WeeklyHeaderViewController alloc] init];
[self.view addSubview:weeklyHeaderViewController.view];
这是一个 iPad 应用程序,视图为 939x31 .xib,包含 7 个 UILabel 对。控制器的 viewDidLoad 方法在 7 对之间插入一个 4x30 图像分隔符,然后将视图移动到屏幕底部的位置。
我可以通过 initWithNibName 对其进行跟踪,因此它似乎分配得很好。它在 addSubview 处崩溃,并且永远不会到达 viewDidLoad 方法。
关于 5.1,我应该在这里缺少什么吗?
任何建议将不胜感激。
谢谢,
约翰
// WeeklyHeaderViewController.m
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
return self;
- (void)viewDidLoad
[super viewDidLoad];
CGRect myImageRect = CGRectMake(131, 0, 4, 30);
UIImageView *image = [[UIImageView alloc] initWithFrame:myImageRect];
[image setImage:[UIImage imageNamed:@"weeklyDaySeparator.png"]];
[self.view addSubview:image];
[image release];
myImageRect = CGRectMake(266, 0, 4, 30);
image = [[UIImageView alloc] initWithFrame:myImageRect];
[image setImage:[UIImage imageNamed:@"weeklyDaySeparator.png"]];
self.view addSubview:image];
[image release];
myImageRect = CGRectMake(400, 0, 4, 30);
image = [[UIImageView alloc] initWithFrame:myImageRect];
[image setImage:[UIImage imageNamed:@"weeklyDaySeparator.png"]];
[self.view addSubview:image];
[image release];
myImageRect = CGRectMake(535, 0, 4, 30);
image = [[UIImageView alloc] initWithFrame:myImageRect];
[image setImage:[UIImage imageNamed:@"weeklyDaySeparator.png"]];
[self.view addSubview:image];
[image release];
myImageRect = CGRectMake(670, 0, 4, 30);
image = [[UIImageView alloc] initWithFrame:myImageRect];
[image setImage:[UIImage imageNamed:@"weeklyDaySeparator.png"]];
[self.view addSubview:image];
[image release];
myImageRect = CGRectMake(804, 0, 4, 30);
image = [[UIImageView alloc] initWithFrame:myImageRect];
[image setImage:[UIImage imageNamed:@"weeklyDaySeparator.png"]];
[self.view addSubview:image];
[image release];
self.view.frame = CGRectMake(74, 687-14, self.view.frame.size.width, self.view.frame.size.height);
【问题讨论】:
也许你在 weekHeaderViewController.xib 或其视图中使用了自动布局 显示的错误是什么? ios初学者,就是这样!我总是忘记那件事。谢谢!如果您希望得到答案,请继续并让您的评论成为答案。 【参考方案1】:感谢 iOSBegginer 提醒我在我的 xib 中取消选中 AutoLayout。
【讨论】:
以上是关于addSubview 崩溃 iOS 5.1 但不是 6.1的主要内容,如果未能解决你的问题,请参考以下文章
Firebase initWithUrl 在 iOS 5.1 上崩溃
为啥这段代码在 iOS 5.1 中会崩溃,而在 iOS 6 中不会?
JSONKit 崩溃:iPad 视网膜 64 位设备模拟器中的 iOS 7 Xcode 5.1