1

好的,这是我的视图的层次结构。

               Main View

     |---------------|---------------|

    UIView         UIView          UIView

      |             |                |

    UIButtons     UIButtons      UIButtons

如上图所示,我有标签 111,222,333 的 3 个子视图。

每个子视图包含 25 个按钮。一次可见一个视图,因此 m 通过标签属性隐藏其他 2 个视图。

应用程序描述:我的应用程序在按钮上有图像,m 在单击按钮时显示这些图像。用户一次只能单击一个按钮,然后在第二次单击时比较按钮的图像,如果两个按钮的图像不相同,则隐藏按钮的图像,如果相同,则不隐藏.

模拟器上一切顺利,但在设备上,如果我同时单击两个按钮,它们会同时打开。(而 btnClickCount 为 2)

我希望我的按钮一次只打开一个。

我尝试过的:

  1. 我已将 NO 设置为 multiTouch。
  2. 我尝试使用 Touches Began,但它没有用,因为我点击 UIButton n 而不是 UIView。
  3. 我试过了

            self.view.userInteractionEnabled = NO;
    
            [self performSelector:@selector(EnableUserInteraction) withObject:nil afterDelay:0.5];
    

在第一次单击按钮时,但如果同时发生触摸,则没有任何反应,但它适用于单击。

不知道该怎么处理这个!!!!!!!

请帮助,在此先感谢.......

4

1 回答 1

1

UIButton 有一个布尔属性“启用”所以当你点击按钮时,你可以将所有其他按钮设置为

buttonName.enabled = NO;

然后,当您希望它们再次处于活动状态时,设置

buttonName.enabled = YES;

我不确定您的按钮是如何声明的,但如果它们是具有不同名称的 IBOutlets,您可以轻松地将所有名称放入一个数组中,删除处于活动状态的那个,然后枚举其余的。

于 2011-09-30T12:29:01.553 回答