2013-02-01 21 views
0

這是怎麼回事,當我打電話:UIPageControl不會出現在viewDidLoad中

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方法中調用它時,頁面控件會出現? 問題是我不想讓我的視圖出現很多次,並且每次都分配並初始化一個新的pagecontrol!

+1

你是否在viewDidLoad之後在self.view中添加了其他視圖?它有可能被另一種觀點所覆蓋? –

+1

當你把這個放在你的viewDidLoad方法中,你是在調用[super viewDidLoad]之後做的嗎? – Kaiser

+0

如果您使用的是TabBar控制器,那麼請分享它的代碼.. – Rajneesh071

回答

0

最終,我創建了自己的UIPageControl作爲類的對象部分,保留它並在viewDidAppear方法中初始化它!

這種方法更清潔,不浪費內存!

+0

可以分享你的例子 – user998405

0

ViewDidLoad在加載類時調用,但視圖尚未初始化。如果你正在做任何事情,那麼你應該事後做。

最好的方法是移動到你的代碼..

- (無效)viewDidLayoutSubviews;

好事是,它將被稱爲儘快添加您的視圖,只有一次。

乾杯。