标签: setuserinteractionenabled

哪个更好,setEnabled或setUserInteractionEnabled?

我想UIButton禁用用户触摸.双方setEnabledsetUserInteractionEnabled能做到这一点.哪个更好?他们有什么不同?

objective-c uibutton ios setuserinteractionenabled

10
推荐指数
2
解决办法
5181
查看次数

iOS UIButton - UIButton setUserInteractionEnabled和setEnabled之间的区别

等等!!!:
我知道你可能会认为这个问题已经被问过几次了.但我可以向你保证,这个问题是独一无二的.

问题:
在iOS应用程序中,想象一下有两个按钮,如下图所示,它们有两个动作就像一个切换逻辑.

在此输入图像描述

它的逻辑可能如下:

- (IBAction)testBtnClicked:(id)sender {
    if ([self.testBtn isEnabled]) {
        [self.testBtn setEnabled:NO];
        [self.setInteractionBtn setUserInteractionEnabled:YES];
    } else {
        [self.testBtn setEnabled:YES];
        [self.setInteractionBtn setUserInteractionEnabled:NO];
    }
}

- (IBAction)setInteractionBtnClicked:(id)sender {
    if ([self.setInteractionBtn isEnabled]) {
        [self.setInteractionBtn setUserInteractionEnabled:NO];
        [self.testBtn setEnabled:YES];
    } else {
        [self.setInteractionBtn setUserInteractionEnabled:YES];
        [self.testBtn setEnabled:NO];
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我没有看到setEnabled方法和setUserInteractionEnabled方法之间的巨大差异.它们的行为类似于阻止用户不使用它的单一方法.但是,如果是相同的一样,我们怎么可能能够检测isEnabled truefalse即使setUserInteractionEnabled被设置为False

以下是使这个问题不能与SO中的另一个Q&A线程重复的原因:

  • 尽管一些排名很高的代码可能会将我的问题标记为可能重复,但问答并没有给我正确的理解.
  • 正如@danh所说,

    至少有一个原因是在动画期间,UIViews上禁用了用户交互.控件在动画时将自己画成灰色是错误的.所以至少在动画期间,这两个属性具有不同的含义.给我真正的答案或原因,看出这两种方法有两个原因.因为任何人都可以说setUserInteractionEnabled不会对UI状态进行更改,但至少只有在@ danh的回答中首先声明它可能会在UI动画中隐式使用.

objective-c uibutton ios isenabled setuserinteractionenabled

10
推荐指数
1
解决办法
1280
查看次数

我可以让一个UIPresentationController在PresentingViewController上有userInteractionEnabled吗?

我正在为iPhone和iPad的通用应用程序构建自定义GUI.在iPad上,它主要依赖于"sideViews"等实用程序,如内容操作,detailInformation等(想想一个高级的SplitView).从视觉的角度来看,新的UIPresentationController让我能够呈现这些"sideViews"(并且不使用dimmedView),并且实现起来非常简单,可以构建和维护,同时仍然可以很好地与故事板集成.但是,当presentViewController可见时,我需要能够操作presentViewController的内容.所以我的问题是,我可以在呈现sideViews时在presentViewController上设置userInteractionEnabled(或类似)吗?

ios setuserinteractionenabled ios8 uipresentationcontroller

9
推荐指数
1
解决办法
1614
查看次数