覆盖UIViewController的loadView方法

时间:2012-07-25 20:56:26

标签: objective-c ios5

我有一个UIViewController类,所以在我的'MyViewController.h'中我有:

@interface MyViewController : UIViewController

但是,在'MyViewController.m'中,如果我尝试覆盖loadView,-(void)loadView不会自动完成,并且由于我的视图没有显示,我相信这暗示了问题。

我确定我做的事情很愚蠢,但我找不到任何关于此事的事情。

如果有帮助,这是我的loadView:

-(void)loadView
{
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGFloat screenHeight = screenRect.size.height;

    myInputView = [[MyInputView alloc] initWithFrame:CGRectMake(0, 0, screenWidth,screenHeight)];
    myInputView.delegate = self; 
    myInputView.style = kGestureInputStyleFading; 
    myInputView.backgroundColor = [UIColor redColor]; 
}

提前致谢!

1 个答案:

答案 0 :(得分:6)

不要担心自动完成。只需定义您的

即可
- (void) loadView

方法并编译你的应用程序...如果它不起作用,请添加一些代码,以便我们可以看到发生了什么。

在loadView中,您需要初始化视图控制器的view属性:

self.view = [[UIView alloc] init...];

在你的情况下:

-(void)loadView
{
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;

myInputView = [[GestureInputView alloc] initWithFrame:CGRectMake(0, 0, screenWidth,screenHeight)];
myInputView.delegate = self; 
myInputView.style = kGestureInputStyleFading; 
myInputView.backgroundColor = [UIColor redColor]; 

self.view = myInputView;
}