Ios 如何在同一时间点禁用屏幕上的多个用户交互
在我的应用程序中,不包含任何ui元素,如Ios 如何在同一时间点禁用屏幕上的多个用户交互,ios,user-interface,uiimageview,uibutton,Ios,User Interface,Uiimageview,Uibutton,在我的应用程序中,不包含任何ui元素,如facebook按钮、twitter按钮、注销按钮、带有手势的imageview ` 像这样,我添加了所有元素 当用户一次单击所有按钮时,所有三项功能都正常工作。 这里只需要做一个操作 我如何解决这个问题? 我看到了一些摆脱这种局面的方法 您保持每个按钮的强链接,并 [someButton setUserInteractionEnabled:NO] 对于用户单击某人后的每个元素。但这需要很多时间和代码 (我认为更好的解决方案)或者您可以在视图顶部显示U
facebook按钮、twitter按钮、注销按钮、带有手势的imageview
`
像这样,我添加了所有元素
当用户一次单击所有按钮时,所有三项功能都正常工作。
这里只需要做一个操作
我如何解决这个问题?我看到了一些摆脱这种局面的方法
[someButton setUserInteractionEnabled:NO]
UIActivityIndicatorView
,在处理某些数据或执行某些其他操作时阻止所有用户交互一次处理多个触摸问题并设置单个属性
[sectionLandscapeMageView设置ExclusiveTouch:是];
//处理所有子视图多点触摸用户交互
-(void)multipleTouchHandling
{
self.view.multipleTouchEnabled=NO;
self.view.exclusiveTouch=YES;
for(UIView* view1 in self.view.subviews)
{
if([view1 isKindOfClass:[UIButton class]])
{
UIButton* btnVw = (UIButton*)view1;
[btnVw setExclusiveTouch:YES];
}
}
}
在你的应用程序中,你在按钮中添加了手势?不,我只为imageview添加了点击手势。当应用程序第一次启动时,如果我点击所有元素,所有元素都在运行,请在此处添加您的一些代码。在这里,我只能以编程方式添加按钮创建..将
UIButton的exclusiveTouch
属性设置为YES
。感谢您的回复,我没有从服务器获取任何数据。它执行正常的按钮单击事件。这解决了问题,或者需要其他解决方案?如果我同时使用UIActivityIndicatorView
,它将执行用户单击过的所有操作。它不会像这样显示,对吗?UIActivityIndicatorView只是UIView的子视图,如果在视图中添加activityindicator作为子视图,则可以拦截所有接口操作。如果我理解正确,下一步就是您的算法:1)用户单击某个按钮2)在控制器视图上添加UIActivityIndicatorView 3)开始操作4)处理操作结束并从控制器视图中删除UIActivityIndicatorView。
-(void)multipleTouchHandling
{
self.view.multipleTouchEnabled=NO;
self.view.exclusiveTouch=YES;
for(UIView* view1 in self.view.subviews)
{
if([view1 isKindOfClass:[UIButton class]])
{
UIButton* btnVw = (UIButton*)view1;
[btnVw setExclusiveTouch:YES];
}
}
}