0

当我打电话时,情况如何:

UIPageControl *pageControl = [[UIPageControl alloc] init];
pageControl.frame = CGRectMake(110,5,100,100);
pageControl.numberOfPages = 2;
pageControl.currentPage = 0;
[self.view addSubview:pageControl];

ViewDidLoad方法里面,UIPageControl没有出现?然而,当我在viewWillAppear方法中调用它时,页面控件出现了?问题是我不想让我的视图出现多次并且每次都分配和初始化一个新的页面控件!

4

2 回答 2

0

ViewDidLoad 在类加载但视图尚未初始化时调用。如果您正在做任何有视野的事情,那么您应该在以后做。

最好的方法是将您的代码移至..

-(void)viewDidLayoutSubviews;

好消息是它会在您添加视图后立即调用,并且仅调用一次。

干杯。

于 2013-02-01T15:35:05.373 回答
0

最终,我只是创建了自己的 UIPageControl 作为类的对象部分,保留它并在 viewDidAppear 方法中对其进行初始化!

这种方法更干净,不浪费内存!

于 2013-03-07T23:07:29.610 回答