在iOs中,我使用导航控制器导航(推送),并在viewDidLoad中启动请求。此请求可能需要很长时间,如果用户不想等待请求,我希望用户可以返回。
问题是导致栏中添加的后退按钮似乎被阻止,直到de请求完成。该按钮记住用户交互以及请求完成后自动返回。
请求具有响应的委托方法,当应用程序进入该方法时,按钮会唤醒并返回。
如果我在请求期间触摸,则触摸/点击效果不会出现在按钮上,并且在请求结束时也不会出现。当我等到结束时,按钮对触摸/点击的按钮具有正常效果。
答案 0 :(得分:0)
为此你可以启用这样的按钮属性。
[button setEnable:Yes];
[button setEnable:Yes];
也使用此
[button setuserintractionEnable:no];
答案 1 :(得分:0)
以backthread格式调用您的请求
[self performSelectorInBackground:@selector(startRequest) withObject:nil];
并且始终记住核心数据。这是您的UI将被发布,请求将继续在后台线程中工作 然后在后退按钮上实现请求取消
将obj初始化为
Obj * obj = [[Obj alloc] initWithDelegate:self selector:@selector(requestFinished)]; [self performSelectorInBackground:@selector(startRequest :) withObject:obj]; obj具有SEL选择器和id delegate属性;
请求完成时
检查 if([obj.delegate respondsToSelector:obj.selctor]) { [obj.delegat performSelector:obj.selector]; }
如果您需要更多规格,请告知我