2012-02-21 130 views
0

我想使UIViewController视图类成为一个scrollView。我该怎么做呢?修改超类的属性

+1

我不得不读三次,仍然不明白这一点。你显然不是'小白人',所以这个问题严重吗?一个对象的类不是它的属性,在这种情况下,除非它已经是一个UIScrollView或它的后代,否则你甚至不能对这个视图进行类型转换。也许这只是提高清晰度。你到底想做什么? – 2012-02-21 15:38:36

+0

我有UIViewController,它有一个UIView作为属性,称为'视图'。我想把这个属性变成一个UIScrollView。把它作为一个UIScrollView进行alloc的问题是,将来它不会给我UIScrollView的编码建议,并且会一直认为它是一个UIView。 – Andrew 2012-02-21 15:45:03

+0

啊哈,好的。这很容易。见下面的答案。 – 2012-02-21 15:46:45

回答

2

只需在-loadView方法中将视图初始化为UIScrollView(您需要覆盖它)。

- (void)loadView { 
    self.view = [[UIScrollView alloc] initWithFrame:...]; 
    // do other init stuff; 
} 

你不需要调用[super loadView],也只是分配一个默认UIView实例并将其分配给view

1

为什么不:

@implementation MyScrollViewController 
... 
... 
-(void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    //configure my scrollview (self.view). This may require you to cast your self.view to UIScrollView. 
} 
-(void)loadView 
{ 
    UIScrollView *sv = [UIScrollView alloc] init] autorelease]; //will be retained by self.view 
    self.view = sv ; 
} 
... 
... 
@end