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;

そして、良いことは、ビューが追加されるとすぐに1回だけ呼び出されることです。

乾杯。

于 2013-02-01T15:35:05.373 に答える
0

最終的には、クラスのオブジェクト部分として独自のUIPageControlを作成し、それを保持して、viewDidAppearメソッドで初期化しました。

この方法はよりクリーンで、メモリを浪費しません!

于 2013-03-07T23:07:29.610 に答える