转 UIAlertView 不显示、屏幕变灰
UIAlertView 不显示、屏幕变灰 SvenFang 1 票181 在[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(response:) name:url object:nil];的回调方法response里面弹出UIAlertView,当执行到该代码时,屏幕变灰,但是UIAlertView没有出现,背景按钮均不可点击,输出得到UIAlertView对象的centre x和y均为0 ,alpha为1,等高人指点,下面是response方法的代码和屏幕截图- (void)response:(NSNotification *)notification {if (isStop == 0) {//数据超时后,不作处理return;}if (isStop == 1) {[_timer invalidate];isStop = 0;}//停止等待控件 [spinner performSelectorOnMainThread:@selector(stopAnimating) withObject:nil waitUntilDone:NO];[spinner removeFromSuperview];CommentXMLParser *commentXML=[notification object]; // if([commentXML.responseDict objectForKey:@"return_result"]!=nil){ // // NSLog(@"请求4001的返回---%@",[commentXML.responseDict objectForKey:@"return_result"]); // // if([[commentXML.responseDict objectForKey:@"return_result"] isEqualToString:RETURN_NO]) // { // //这里只指网络失败 // cmd = commentXML.returnHeader.cmd; // [self performSelectorOnMainThread:@selector(showDisconeect) withObject:nil waitUntilDone:NO]; // } // }if(commentXML.done){ //如果有数据返回if([commentXML.returnHeader.rspcode isEqualToString:RESPONSE_SUCCESS]){//正确返回//解析协议if( [commentXML.returnHeader.cmd isEqualToString:B2B00004001]){score = [commentXML.responseDict objectForKey:@"integral_all"];score_can_use = [commentXML.responseDict objectForKey:@"integral_able"];balance = [commentXML.responseDict objectForKey:@"balance"];[self performSelectorOnMainThread:@selector(viewUpdateBaseInfo) withObject:nil waitUntilDone:NO];}else if([commentXML.returnHeader.cmd isEqualToString:B2B00004017]){gift_card_balance = [commentXML.responseDict objectForKey:@"balance"];[self performSelectorOnMainThread:@selector(viewUpdateBaseInfo) withObject:nil waitUntilDone:NO];}else if([commentXML.returnHeader.cmd isEqualToString:B2B00004002]){[[NSNotificationCenter defaultCenter] postNotificationName:@"Settlement" object:commentXML.responseDict];[self performSelectorOnMainThread:@selector(closePayTool) withObject:nil waitUntilDone:NO];}else{NSAssert(true, @"非法协议,本处理函数只处理4001,4017, 4002协议", nil);}}else{//如果业务失败NSLog([commentXML.returnHeader.cmd stringByAppendingString:@"业务失败, 失败原因:%@"], [commentXML.headerDict objectForKey:@"rspdesc"]);//todo 提示业务失败, 类似android的toast效果UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:[commentXML.headerDict objectForKey:@"rspdesc"] delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil];[alert show];[alert release]; // [OMGToast showWithText:[commentXML.headerDict objectForKey:@"rspdesc"] bottomOffset:10 duration:5]; }}评论 (1) • 分享 • 链接 • 2012-09-11 0 Alert的delegate设置了吗? – 吴复 2012-09-11 1个答案 票 数 davidzhang 0 票 1 在这里面我建议你这样做,将下面这段代码//todo 提示业务失败, 类似android的toast效果UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:[commentXML.headerDict objectForKey:@"rspdesc"] delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil];[alert show];改为[alert performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:YES];如果还是不明白,可以参考这里http://www.gowhich.com/blog/206
转:http://www.dewen.org/q/5474
转载于:https://www.cnblogs.com/ygm900/p/3153899.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
