0
我想使UIViewController视图类成为一个scrollView。我该怎么做呢?修改超类的属性
我想使UIViewController视图类成为一个scrollView。我该怎么做呢?修改超类的属性
只需在-loadView
方法中将视图初始化为UIScrollView
(您需要覆盖它)。
- (void)loadView {
self.view = [[UIScrollView alloc] initWithFrame:...];
// do other init stuff;
}
你不需要调用[super loadView]
,也只是分配一个默认UIView
实例并将其分配给view
。
为什么不:
@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
我不得不读三次,仍然不明白这一点。你显然不是'小白人',所以这个问题严重吗?一个对象的类不是它的属性,在这种情况下,除非它已经是一个UIScrollView或它的后代,否则你甚至不能对这个视图进行类型转换。也许这只是提高清晰度。你到底想做什么? – 2012-02-21 15:38:36
我有UIViewController,它有一个UIView作为属性,称为'视图'。我想把这个属性变成一个UIScrollView。把它作为一个UIScrollView进行alloc的问题是,将来它不会给我UIScrollView的编码建议,并且会一直认为它是一个UIView。 – Andrew 2012-02-21 15:45:03
啊哈,好的。这很容易。见下面的答案。 – 2012-02-21 15:46:45