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