屏幕上有UIView
元素。它由IBOutlet
radioButtonGroupView
连接。我正在尝试向该元素添加子视图,但它无法正常工作。子视图从未添加。
这是我的代码:
-(id) initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
subView.backgroundColor = [UIColor yellowColor];
[self.radioButtonGroupView addSubview:subView];
return self;
}
答案 0 :(得分:0)
如果你将这个元素作为UIViewController
的子类(而不是UIView
),你可能会更好。
然后将子视图加载代码放在viewDidLoad
方法中。
- (void)viewDidLoad
{
[super viewDidLoad]; //not really needed but it doesn't hurt
UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
subView.backgroundColor = [UIColor yellowColor];
[self.radioButtonGroupView addSubview:subView];
}
修改强>
您说您在self.radioButtonGroupView
viewDidLoad
上未获得IBOutlet
的任何框架信息。这几乎是一个迹象,表明您的- (void)viewDidLoad
{
[super viewDidLoad]; //not really needed but it doesn't hurt
NSLog (@"self.radioButtonGroupView: %@",self.radioButtonGroupView);
[self.radioButtonGroupView setHidden:YES];
}
没有正确连接到InterfaceBuilder中的元素。您总是可以进行简单的测试:
IBOutlet
如果仍然显示 - 那么它根本就没有正确连接。 IB有它的方法。简单
删除radioButtonGroupView
连接并重新连接它可能会起到作用。另外:您的UIView
不是UIView
,而是MyViewController.m
的子类,请确保在您的.xib
文件和类中正确定义了它的头文件在{{1}}。