Xcode 情节提要UIImagePicker覆盖UIButton不会取消预览
更新2Xcode 情节提要UIImagePicker覆盖UIButton不会取消预览,xcode,storyboard,uiimagepickercontroller,Xcode,Storyboard,Uiimagepickercontroller,更新2 viewdide执行两次,一次在触摸覆盖按钮之前,一次在触摸覆盖按钮之后。修复方法是将条件添加到viewDidAppear,它将控制权返回给调用类吗?如果是这样的话,我将不胜感激。或者,viewdide出现execute两次这一事实暗示了另一种修复方法 更新2 更新1 问题可能是我使用了下面显示的viewdide和viewdideload。有人能帮忙吗 - (void)viewDidAppear:(BOOL)animated { self.overlayViewControll
viewdide
执行两次,一次在触摸覆盖按钮之前,一次在触摸覆盖按钮之后。修复方法是将条件添加到viewDidAppear
,它将控制权返回给调用类吗?如果是这样的话,我将不胜感激。或者,viewdide出现
execute两次这一事实暗示了另一种修复方法
更新2
更新1
问题可能是我使用了下面显示的viewdide
和viewdideload
。有人能帮忙吗
- (void)viewDidAppear:(BOOL)animated
{
self.overlayViewController = [[BSsetupOverlayViewController alloc] initWithNibName:@"BSsetupOverlayViewController" bundle:nil] ;
// as a delegate we will be notified when pictures are taken and when to dismiss the image picker
self.overlayViewController.delegate = self;
[self showImagePicker:UIImagePickerControllerSourceTypeCamera];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
更新1
更新0
也许我不清楚不起作用的版本和起作用的版本之间的区别是,故事板在不起作用的版本中使用。为什么一个done
按钮在没有故事板的情况下可以工作,而在没有故事板的情况下却不能工作,即使覆盖层只涉及一个笔尖
更新0
可以取消相机预览,但在我的实际应用程序中,点击ui按钮只能暂时取消预览和覆盖屏幕。预览立即返回。我认为问题在于我实现UIImagePicker委托的方式,但我可能错了
它包含一个具有不良行为的示例项目。并建议使用条件子句可能会解决此问题,正如我在问题的更新2中所述。Meetup的创始人库尔特·尼米(Kurt Niemi)通过编辑BSsetupViewController
类,很快展示了如何做到这一点
首先,他向接口添加了一个布尔属性
@property (nonatomic, assign) BOOL alreadyDisplayed;
其次,他在viewdideappear
方法中添加了一个子句
if (self.alreadyDisplayed)
{
self.alreadyDisplayed = FALSE;
[self dismissViewControllerAnimated:NO completion:nil];
return;
}
self.alreadyDisplayed = TRUE;
self.alreadyDisplayed = FALSE;
最后,他在viewDidLoad
方法中添加了一个稍微不必要的子句
if (self.alreadyDisplayed)
{
self.alreadyDisplayed = FALSE;
[self dismissViewControllerAnimated:NO completion:nil];
return;
}
self.alreadyDisplayed = TRUE;
self.alreadyDisplayed = FALSE;
我仍然希望这些步骤是不必要的,但它们似乎有效