Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何编程我将UIActivityIndicatorView添加到右下角的视图中_Objective C_Uiview_Positioning_Ios6 - Fatal编程技术网

Objective c 如何编程我将UIActivityIndicatorView添加到右下角的视图中

Objective c 如何编程我将UIActivityIndicatorView添加到右下角的视图中,objective-c,uiview,positioning,ios6,Objective C,Uiview,Positioning,Ios6,我试图以编程方式将UIActivityIndicatorView添加并定位到主视图的右下角。我的应用程序可以旋转 现在,在我的viewDidLoad方法中,我有以下代码: [super viewDidLoad]; UIActivityIndicatorView *iv = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

我试图以编程方式将UIActivityIndicatorView添加并定位到主视图的右下角。我的应用程序可以旋转

现在,在我的viewDidLoad方法中,我有以下代码:

[super viewDidLoad];        
UIActivityIndicatorView *iv = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
        [iv startAnimating];
        int margin = 14;
        iv.frame = CGRectMake(
                                       self.view.frame.size.width - iv.frame.size.width - margin,
                                       self.view.frame.size.height - iv.frame.size.height - margin,
                                       iv.frame.size.width,
                                       iv.frame.size.height );
    iv.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
        [self.view addSubview:iv];
当应用程序以纵向方式启动时,活动指示器的位置正确。当我旋转设备(或在横向模式下启动应用程序)时,activityindicator的位置就错了


如何解决这个问题?

您还需要一个灵活的上边距,以便随着主视图高度的变化,视图会向上或向下滑动。此外,父视图需要将AutoResizesSubView设置为YES(默认为YES,因此您可能还可以)


在视图控制器上,重写shouldAutorotateToInterfaceOrientation方法,并在方向更改时更正位置

-(BOOL)应自动旋转指针面定向:(ui界面定向)界面定向;

不要重写此方法,它在iOS 6中已被弃用。正如文档中所述:覆盖支持的InterfaceOrientations,而将preferredInterfaceOrientationForPresentation方法替换为preferredInterfaceOrientationForPresentation方法。感谢您指出这一点,我认为这不是一个io6问题。
distanceLabel.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleTopMargin);