这是我的代码,我试图创建一个子视图......我正在使用带有StoryBoards的XCode4。该应用程序崩溃在第二行,它使用EXC_BAD_ACCESS分配subView。 vFrame包含有效内容。这有什么问题? (我在故事板上使用XCode4,顺便说一下。)
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect vFrame = CGRectMake(60,100,200,200);
subView = [[UIView alloc] initWithFrame:vFrame];
subView.backgroundColor = [UIColor redColor];
[self.view addSubview: subView];
}
更新:subView的定义:
@interface PreferencesViewController : UIViewController {
UIView *subView;
}
@property (nonatomic, retain) UIView *subView;
@end
答案 0 :(得分:1)
真的应该有效。您的视图控制器(PreferencesViewController)是否已正确分配并初始化?你对你的子视图进行了@synthesize吗?
虽然没关系,但你可以尝试使用浮点数作为CGRect(在每个结尾添加一个.0)。
答案 1 :(得分:1)
尝试将子视图实例化代码移动到主视图的方法viewWillAppear。这保证了所有内容都已初始化。
答案 2 :(得分:0)
问题是UIViewController被吓坏了......不知道怎么回事,但一旦被取代,它就像一个冠军!谢谢大家的回复...