
完成文本字段编辑后,用户可以单击关闭按钮,打开UIAlertVIEw。当用户在alertvIEw中单击discard时,alertvIEw和当前视图被关闭。但不知何故,键盘显示后,视图已经消失,这是相当恼人的用户。
经过一些调试,似乎为用户在关闭视图之前访问的最后一个文本字段显示了键盘。我尝试了各种方法来结束当前视图在许多地方(在显示UIAlertVIEw之前,单击UIAlertVIEw中的按钮;我甚至设置焦点到视图的另一个UI元素)。它没有解决问题。
但对于这个特殊的问题,我不知道这是一个常见的问题或我们需要解决的东西。一切工作完美之前的iOS 8.3。
我们知道,UIAlertVIEw已被iOS 8淘汰。我们开始迁移到UIAlertController。但如果有任何解决方法,我们很乐意听到。
这里有一些代码段。
- (IBAction)closeTapped:(UIbutton *)sender{ // try to resign first responder // [self.tfname resignFirstResponder]; // [self.tfposition resignFirstResponder]; [self.vIEw endEditing:YES]; if(self.orderDetails.isOpen && self.orderItemChanged) { UIAlertVIEw* saveAlert = [[UIAlertVIEw alloc] initWithTitle:@"Unsaved Changes" message:@"Your changes have not been saved. discard changes?" delegate:self cancelbuttonTitle:@"Cancel" otherbuttonTitles:@"Save",@"discard",nil]; [saveAlert show]; } else { [self close]; }}- (voID)alertVIEw:(UIAlertVIEw *)alertVIEw clickedbuttonAtIndex:(NSInteger)buttonIndex{ switch(buttonIndex) { case 1: // Save { [self save]; break; } case 2: // discard { [self close]; break; } }}- (voID)close{ [self.delegate dismissEditOrderItemVC];}解决方法 如果您的部署目标是iOS 8,请尝试UIAlertController。 下面是UIAlertVIEw的一个快速修复:延迟当文本字段或文本视图重新签署第一个响应者时显示警报视图的调用。
[self performSelector:@selector(showAlertVIEw) withObject:nil afterDelay:0.6];总结
以上是内存溢出为你收集整理的UIAlertView在iOS 8.3 for iPad上关闭后,键盘d出全部内容,希望文章能够帮你解决UIAlertView在iOS 8.3 for iPad上关闭后,键盘d出所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)