首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写UIViewController的loadView方法

重写UIViewController的loadView方法
EN

Stack Overflow用户
提问于 2012-07-26 04:56:26
回答 1查看 8.5K关注 0票数 4

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

代码语言:javascript
复制
@interface MyViewController : UIViewController

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

我确信我在做一些愚蠢的事情,但是我找不到任何关于这件事的东西。

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

代码语言:javascript
复制
-(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]; 
}

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-26 05:00:45

不要担心自动补全。只需定义您的

代码语言:javascript
复制
- (void) loadView

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

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

代码语言:javascript
复制
self.view = [[UIView alloc] init...];

在您的案例中:

代码语言:javascript
复制
-(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;
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11658478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档