iOS8中UIActionSheet弹出UIImagePickerController异常处理

iOS8之后,UIActionSheet改父于UIAlertController。带来了一丢丢兼容性的问题。

比如在弹出的actionsheet中选择从相册选择图片或者拍照,之后弹出UIImagePickerController进行选择。

在iOS8以前的方法里,直接在

-(void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;

Click的委托事件里处理就好了,但是在iOS8,系统会抛出警告

Warning: Attempt to present <UIImagePickerController: 0x292b400>  on <**Controller: 0x723c150> which is already presenting <UIAlertController: 0xd37b8b0>

并且取消弹出ImagePicker行为。

原因在警告里说得比较明白了,因为已经有actionsheet存在了,不能present新的。此时我们选择新的委托方法

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex;

didDismissWithButtonIndex方法即可。

时间: 2024-12-14 08:56:33

iOS8中UIActionSheet弹出UIImagePickerController异常处理的相关文章

点击事件中实现弹出一个选择框(如选择网络设置、选择电话短信联系方式)

1.网络设置 public void checkNetwork(){ //获取连接的管理对象 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //获取当前正在使用的网络 NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); //判断网络是

CEF中禁止弹出浏览器窗口

使用CEF时,加载的网页,如果里面有链接,指定target="_blank",则会弹出一个新的浏览窗口.如果想禁掉,让新页面在当前浏览窗口中显示,可以在browser进程的handler里重写CefLifeSpanHandler的OnBeforePopup方法,用browser的mainFrame加载popup请求的url.代码如下: bool SimpleHandler::OnBeforePopup(CefRefPtr<CefBrowser> browser, CefRe

php中alert弹出时单双引号问题

php代码中单双引号问题是个很重要的问题,使用不当会造成很多麻烦.先记录一下今天写alert遇到的麻烦.我做登录的时候,成功时想弹出个提示说登录成功.写alert语句时不显示.其实就是单双引号弄得不对.正确的语句应该是: 我测试了只要是单双引号不同时使用就行,否则都不会显示.随后我应该总结一下单双引号的使用规则. 此外,在弹出和跳转同时出现在一段代码中时,alert不会出现,会直接跳转到定位的页面.想要alert出现,得在定位页面的前部写alert.

点击GridView中TextBox弹出输入对话层,输入内容反传回先前点击的TextBox中(Jquery获取GridView中TextBox的ID)

项目中,由于用户反映说:GridView表中的输入框太小,不方便输入,特别是在输入内容多的时候.问能不能点击GridView中输入框的时候能弹出一个大的内容输入对话框. 介于用户的要求,我就开始修改. 先想到的就是我用Jquery在GridView中TextBox上添加一个focus焦点捕捉事件,当点击时触犯弹出内容输入框. 然后就是当输入完毕的操作了,我又使用内容输入框(其实也是一个TextBox)的焦点失去事件(blur),在该事件中先把值反馈回先前点击的GridView中的那个TextBo

安卓中的弹出框

AlertDialog.Builder builder = new Builder(Context context) 得到一个context所在页面的弹出框, 可以是单选 builder.setSingleChoiceItems(items, checkedItem,listener)  items为弹出框的条目,checkedItem为默认选择的条目(一个),listener为弹出框的点击事件监听器(DialogInterface.OnClickListener的类型,是内部类), 也可以是多

【已解决】artDialog在iframe窗口中关闭弹出窗口返回并刷新父页面

在父页面弹出窗口中,添加回调函数,当close时调用,直接上代码: art.dialog.open(url, {         lock : true,         title : text,         width : '800px',         height : '500px',         close : function () {              art.dialog.open.origin.location.href="url1";       

abap中的弹出窗口函数

POPUP_TO_CONFIRM_WITH_MESSAGE     会话框确实处理步骤; 用识别正文POPUP_TO_SELECT_MONTH             日历:弹出 POPUP_TO_CONFIRM                  标准对话弹出消息 POPUP_TO_CONFIRM_STEP          会话框确实任何处理步骤 (CONFIRM, POPUP) SPO3                           用于输入数据的对话框 POPUP_TO_GET_ON

a链接中 JS弹出确认对话框方法

一种: <a href="javascript:if(confirm('确实要删除该内容吗?'))location='http://www.google.com'">弹出窗口</a> 二种: <script language="JavaScript">             function delete_confirm(e) {    if (event.srcElement.outerText == "删除&quo

selenium python (十一)alert/confirm/prompt的处理(js中的弹出框)

webdriver中处理js所生成的alert.confirm以及prompt,采用switch_to_alert()方法定位到alert/confirm/prompt.然后使用text/accept/dismiss/send_keys进行操作 ①text:返回alert/confirm/prompt中的文字信息 ②accept:点击确认按钮 ③dismiss:点击取消按钮 ④send_keys:输入值,这个alert/confirm/prompt没有对话框就不能使用,否则会报错 eg:百度的设