活动指示器未显示在视图前面
Posted
技术标签:
【中文标题】活动指示器未显示在视图前面【英文标题】:Activity Indicator is not showing in front of view 【发布时间】:2016-03-16 10:45:46 【问题描述】:我有一个视图,其中我添加了一个 UIScrollview。在 UIScrollView 我添加了一个 UIImageView。从 ImagePicker 选取图像后,我将图像添加到 UIImageView。
问题:我在将图像添加到 ImageView 之前显示 UIActivityIndicatorView。
案例1:当我在self.view中添加activity Indicator时,它显示在UIScrollView后面意味着根本不显示。
案例 2:如果我将指示器添加到 Scrollview,它不会添加到视图中。
我尝试了很多东西 bringSubviewToFront , insertSubview:indicator aboveSubview:myscrollview
这是我的代码:
scroller = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 60, Screen_width, Screen_height - 60)];
scroller.delegate = self;
[self.view addSubview:scroller];
scroller.contentSize = CGSizeMake(Screen_width, 667);
profileImageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 10, Screen_width-40, Screen_width-40)];
profileImageView.backgroundColor = gray;
profileImageView.contentMode = UIViewContentModeScaleAspectFill;
profileImageView.clipsToBounds = YES;
profileImageView.userInteractionEnabled=YES;
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
_profileIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
_profileIndicator.frame = CGRectMake(40.0, 20.0, 60.0, 60.0);
_profileIndicator.center = self.view.center;
[self.view addSubview:_profileIndicator];
[_profileIndicator startAnimating];
【问题讨论】:
你试过在主线程上显示它吗?尝试 viewDebugging 来找出根本原因。 您正在将 UIActivityIndicatorView 添加到您的视图中,但您在选择器委托中的代码会检查您的选择器委托。因此这将显示一个新的视图控制器。它不会显示您的指示器 指标在视图上添加,但在滚动视图下方。 【参考方案1】:所有 UI 的东西都应该在主线程中。因此,请确保您在主线程中使用 UIActivityIndicator。
【讨论】:
以上是关于活动指示器未显示在视图前面的主要内容,如果未能解决你的问题,请参考以下文章