在不使用IB的情况下,将UIImageView添加为UIViewController的子视图

时间:2009-09-05 08:56:48

标签: iphone cocoa-touch uiviewcontroller uiimageview

在我的UIViewController的viewDidLoad方法中,我实例化了一个名为stage的UIImageView实例:

stage = [Stage viewWithParent:self];

并称之为:

- (id)initWithParent:(UIView *)parent {
    self = [self initWithFrame:CGRectZero];

    if (!self)
        return nil;

    [parent addSubview:self];

    return self;
}


+ (id) viewWithParent:(UIView *)parent {
    return [[[self alloc] initWithParent:parent] autorelease];
}

在我以前从UIImageView中调用它之前,一切都很顺利。图像可见,触摸事件已启用并已响应。从UIViewController我得到一个窗口,但没有任何内容显示在其中并且没有记录任何触摸。我错过了什么?

任何帮助表示赞赏!

谢谢//:)

2 个答案:

答案 0 :(得分:1)

视图控制器不是视图;他们是控制(拥有和管理)视图的控制器。尝试将视图控制器的视图作为所需的父视图传递。

答案 1 :(得分:1)

stage = [Stage viewWithParent:self.view];

应该有用。

Xcode没有给你关于此的警告吗?