Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone “后退”按钮似乎已禁用_Iphone_Ios_Uinavigationcontroller_Uinavigationbar_Uinavigationitem - Fatal编程技术网

Iphone “后退”按钮似乎已禁用

Iphone “后退”按钮似乎已禁用,iphone,ios,uinavigationcontroller,uinavigationbar,uinavigationitem,Iphone,Ios,Uinavigationcontroller,Uinavigationbar,Uinavigationitem,在iOs中,我使用导航控制器导航(按下),并在viewDidLoad中启动请求。这个请求可能需要很长时间,如果用户不想等待请求,我希望他们能够返回 问题在于,导航栏中添加的后退按钮似乎被阻止,直到de请求完成。该按钮可记住用户交互,并在请求完成时自动返回 请求有一个用于响应的委托方法,当应用程序使用该方法时,按钮将唤醒并返回 如果我在请求过程中触摸,触摸/点击效果不会出现在按钮上,在请求结束时也不会出现。当我等待到结束时,按钮具有触摸/点击按钮的正常效果。为此,您可以像这样启用按钮属性 [bu

在iOs中,我使用导航控制器导航(按下),并在viewDidLoad中启动请求。这个请求可能需要很长时间,如果用户不想等待请求,我希望他们能够返回

问题在于,导航栏中添加的后退按钮似乎被阻止,直到de请求完成。该按钮可记住用户交互,并在请求完成时自动返回

请求有一个用于响应的委托方法,当应用程序使用该方法时,按钮将唤醒并返回


如果我在请求过程中触摸,触摸/点击效果不会出现在按钮上,在请求结束时也不会出现。当我等待到结束时,按钮具有触摸/点击按钮的正常效果。

为此,您可以像这样启用按钮属性

 [button setEnable:Yes];
 [button setEnable:Yes];
也要用这个

 [button setuserintractionEnable:no];

在backgroundthread中调用您的请求作为

    [self performSelectorInBackground:@selector(startRequest) withObject:nil];
请记住,对于核心数据也是如此。这意味着您的UI将被重新设置,请求将继续在后台线程中工作 然后在返回按钮上执行请求取消

将obj初始化为

Obj*Obj=[[Obj alloc]initWithDelegate:self-selector:@selector(requestFinished)];
[self-performSelectorInBackground:@selector(startRequest:)with object:obj]; obj具有属性SEL选择器和id委托

请求完成时

检查 if([obj.delegate respondsToSelector:obj.selector]) { [obj.delegat性能选择器:obj.selector]; }


如果您需要更多规格,请通知我

您的主线程已被请求阻止。请发布一些代码。@fsant如果您在下面的帖子中找到了答案,请通知我们。我确信这不是问题所在。很明显,该按钮已启用(从问题中可以看出)。然后@Kai他到底想要什么,如果您理解,请编辑该问题。我认为,没有必要编辑某些内容。这是完美的描述,该按钮在请求期间被阻止,但之后它工作。。。很明显,这个按钮被启用了。是的,我想是的。这就是为什么他写道“问题在于导航栏中添加的后退按钮似乎被阻止,直到de请求完成。”此外,除了不回答问题外,您的答案中没有一行编译代码(即使您将一行代码翻了一倍;-)。[self-performSelectorInBackground:@selector(startRequest)with Object:nil];这样做的问题是,当请求完成并且我得到请求时,代理没有被唤醒response@fsantaolaya如果你想带着你的问题去任何地方,请发布一些代码。你可以发送一个带有选择器和委托的对象,当请求完成时回拨。在几分钟内编辑答案后再次查看答案现在检查答案并告诉我是否需要更多答案explaination@Kai提示是,当我尝试一个请求时,“阻塞”似乎是由系统执行的,但我将尝试以适当的方式放置代码。