我想将一些UIView(例如UIButton、UIImageView)打包在单个UIView中。 当我尝试显示该 View 时,它没有显示在我的 RootViewController 上:
这是我的 UIView 子类的代码:
#import "Hover.h"
@implementation Hover
- (id)init{
self = [super init];
if (self) {
// Initialization code
UIImage *hover = [UIImage imageNamed:@"Hover.png"];
UIImageView *imageView = [[UIImageView alloc] init];
imageView.image = hover;
imageView.frame = CGRectMake(0, 0, hover.size.width, hover.size.height);
imageView.alpha = 0.75;
[self addSubview:imageView];
[imageView release];
}
return self;
}
这是 RootViewController 类:
- (void)viewDidLoad
{
Hover *hover = [[Hover alloc] init];
[self.navigationController.view addSubview:hover];
[hover release];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
不显示“悬停 View ”!但是,当我将单个 UIImageView 添加到 RootViewController 时,它就可以工作了!
最佳答案
为了显示 View ,您应该重写 -(id)initWithFrame:(CGRect)frame;
,而不是编写自定义初始值设定项。
试试这个方法:
-(id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if(self) {
// do init here...
}
return self;
}
另外,在-(void)viewDidLoad;
方法中,首先发送[super viewDidLoad];
,然后分配/初始化 View 。
关于objective-c - 显示包含其他 UIView 的 UIView 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6746300/