您好如何在从webservice加载数据时禁用UiView
的 userinteraction 。
我使用以下行禁用用户互动,但它无效。
self.view.userinteractionenabled=NO;
我在webservice结束时替换了 YES 。
它不起作用,这会产生UINavigation
问题。点击didSelectRow
时会出现更多观看次数。
答案 0 :(得分:1)
self.view.userinteractionenabled = NO;
这意味着用户无法触及self.view
,但如果该网页有tabbarController
或navigationController
,则用户可以同时触及。{/ p>
因此,只需在UIView
上添加新window
,然后在您的网络服务完成时将其从superview中删除。
添加方法: -
view = [[UIView alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 480.0)];
[view setBackgroundColor:[UIColor blackColor]];
[view setAlpha:0.5];
AppDelegate *appdelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
[appdelegate.window addSubview:view];
然后写下
[view removeFromSuperview];
完成您的网络服务后。
当然,您必须导入Appdelegate.h
才能使用Appdelegate
。
答案 1 :(得分:0)
您正在设置视图的userInteraction,因此它会禁用您的视图,但是navigationBack按钮位于窗口上,因此请禁用窗口的userInteraction而不是禁用您的视图。
这是代码
AppDelegate *appdelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
appdelegate.window.userInteractionEnabled = NO;