在iOs中,我使用导航控制器导航(推送),并在viewDidLoad中启动请求。此请求可能需要很长时间,我希望用户能够返回,如果他们不想等待请求。后退按钮似乎已禁用iOS
问题是导航栏中添加的后退按钮似乎被阻止,直到请求结束。该按钮记住用户交互,并在请求结束时自动返回。
该请求具有响应的委托方法,当应用程序进入该方法时,该按钮将唤醒并返回。
如果在请求期间触摸,触摸/点击效果不会出现在按钮上,并且它不会在请求结束时出现。当我等到结束时,该按钮对于被触摸/点击的按钮具有正常效果。
在iOs中,我使用导航控制器导航(推送),并在viewDidLoad中启动请求。此请求可能需要很长时间,我希望用户能够返回,如果他们不想等待请求。后退按钮似乎已禁用iOS
问题是导航栏中添加的后退按钮似乎被阻止,直到请求结束。该按钮记住用户交互,并在请求结束时自动返回。
该请求具有响应的委托方法,当应用程序进入该方法时,该按钮将唤醒并返回。
如果在请求期间触摸,触摸/点击效果不会出现在按钮上,并且它不会在请求结束时出现。当我等到结束时,该按钮对于被触摸/点击的按钮具有正常效果。
为此,您可以启用像这样的按钮属性。
[button setEnable:Yes];
[button setEnable:Yes];
也用这个
[button setuserintractionEnable:no];
我敢肯定,这不是问题。显然,按钮*是*启用(你可以从问题中得知)。 –
然后@凯他究竟想要什么,如果你明白请编辑问题。 – vishiphone
我不认为,有任何需要编辑的东西。这是完美的描述,该按钮在请求期间被阻止,但在此之后,它的作品...因此,该按钮显然是启用。 –
拨打backgroundthread您的要求
[self performSelectorInBackground:@selector(startRequest) withObject:nil];
,并永远记住这个核心数据量太大。这是您的UI将rleased并请求将继续在后台线程 工作,然后执行这些要求取消后退按钮
初始化OBJ时
的OBJ * OBJ = [[的OBJ页头] initWithDelegate:自选择器:@selector(requestFinished)]; [self performSelectorInBackground:@selector(startRequest :) withObject:obj]; obj具有属性SEL选择器和id委托;
当请求完成
检查 如果([obj.delegate respondsToSelector:obj.selctor]) { [obj.delegat performSelector:obj.selector]; }
告诉我,如果你需要更多的规范
这个问题是,当请求完成时,代理没有被唤醒,我得到的回复 – fsantaolaya
@fsantaolaya如果你想去任何地方与你的问题,请张贴一些代码 –
你可以发送具有选择器和委托的对象,并在请求完成时回拨。我在几分钟后再次编辑它后再次看到答案 – Saad
你主线程被阻塞的请求。请张贴一些代码。 –
@fsant如果你发现你的答案从下面的帖子,请告知我们 – vishiphone