【发布时间】:2013-08-21 11:28:51
【问题描述】:
我正在尝试处理这样的事情:
我有一个UIButton 操作,它正在调用UIImagePickerController 并展示它以进行拍摄。但是加载需要一段时间 - 特别是在第一次运行时。所以我决定设置一个UIActivityIndicator,以便在加载相机时保持旋转。
但我遇到了一个问题 - UIImagePicker 正在主线程中加载,因此指示器不会显示。我该如何解决这个问题?
这是我的方法:
- (IBAction)takePhoto:(UIButton *)sender
{
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.allowsEditing = YES;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
UIActivityIndicatorView *activityView=[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityView.center=self.view.center;
[self.view addSubview:activityView];
[activityView startAnimating];
[self presentViewController:imagePicker animated:NO completion:nil];
}
【问题讨论】:
-
我不确定...我只是在猜测...我只想在加载相机时显示此指示器以使一切看起来干净整洁。
-
打开相机需要更多时间吗?我不认为我加载缓慢,你需要添加活动指示器
-
当我点击按钮时,它会保持高亮状态约 3 秒。然后出现选择器。
-
你能详细说明一下吗,因为我在 sampleExample 中使用了你的代码片段,然后在我的情况下它工作正常,打开相机的虹膜需要时间
-
@frozen_lion 已经按照我想要的方式回答了我的问题
标签: ios multithreading uiimagepickercontroller uiactivityindicatorview