方向更改后中心UIPageControl

Pab*_*ero 3 objective-c uipagecontrol ios4

我正在尝试集中处理UIPageControl纵向和横向模式,但它不起作用,x在设备旋转后发生变化.

@interface DetailViewController : UIViewController<UIScrollViewDelegate>
{
    UIPageControl *pageControl;
}

- (void)viewDidLoad
{
    pageControl = [[UIPageControl alloc] init] ;  
    [self renderMyView];
    [self.view addSubview:pageControl];
}

- (void)renderMyView
{
   if(isPortrait)
   {
        pageControl.frame = CGRectMake(200, 976, 0, 0);
   } else {
        pageControl.frame = CGRectMake(200, 720, 0, 0);
   }
}
Run Code Online (Sandbox Code Playgroud)

renderMyView执行上didLoaddidRotate.

第一次viewDidLoad在肖像和风景中运作良好,但如果我旋转设备,pageControl则会出现在不同的x中!= 200.

我也尝试过pageControl.center,但它没有用.

我怎样才能保持集中?

Nek*_*kto 5

1)viewDidLoad随叫随到renderMyView.

2)设备旋转后调用方法renderMyView

3)renderMyView用这个替换你:

- (void)renderMyView
{
    if(isPortrait)
    {
         pageControl.frame = CGRectMake(200, 976, 0, 0);
    } else {
         pageControl.frame = CGRectMake(200, 720, 0, 0);
    }
    pageControl.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin;
}
Run Code Online (Sandbox Code Playgroud)

所以,不要再召唤我renderMyView一次.AutoresizingMask将尽你所能.

请告诉我,如果它适合你.

PS:有关的更多信息autoresizingMask,请阅读UIView文档.