Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Ios UI开关可在禁用时像UI按钮一样进行调整?_Ios_Uisegmentedcontrol_Uiswitch - Fatal编程技术网

Ios UI开关可在禁用时像UI按钮一样进行调整?

Ios UI开关可在禁用时像UI按钮一样进行调整?,ios,uisegmentedcontrol,uiswitch,Ios,Uisegmentedcontrol,Uiswitch,我正在创建一个应用程序,允许用户在屏幕上添加自己的UISwitch和UISegmentedControl控件。然后,他们可以操纵颜色、标题等。虽然为了让我在开发环境中“选择”并操纵它们,我需要将用户交互/启用设置为否。这样做会导致控件“变暗”,变成透明的。我真的不希望这样,因为控件的颜色也很暗,所以颜色表示不正确 UIButton有一个选项:@property(非原子)BOOL adjustsImageWhenDisabled 对于UISwitch和UISegmentedControl 是否有办

我正在创建一个应用程序,允许用户在屏幕上添加自己的
UISwitch
UISegmentedControl
控件。然后,他们可以操纵颜色、标题等。虽然为了让我在开发环境中“选择”并操纵它们,我需要将用户交互/启用设置为否。这样做会导致控件“变暗”,变成透明的。我真的不希望这样,因为控件的颜色也很暗,所以颜色表示不正确

UIButton有一个选项:
@property(非原子)BOOL adjustsImageWhenDisabled
对于
UISwitch
UISegmentedControl

是否有办法使禁用的
ui开关
ui分段控制
不“变暗”

谢谢, 据我所知,斯科特不是

但是,您可以用另一种方式解决此问题:)


在所有内容上添加一个新的透明UIView,并使用它来抓取您的触摸事件。这将允许您将uicontrol的userInteractionEnabled设置为YES,但触摸永远不会到达它们:)

Hmmm。。。谢谢,我得看看需要多少代码才能实现。虽然我不知道这是怎么回事。我在一个视图上放置了3个子视图。这些视图我已经禁用了用户交互,并在基本视图上处理触摸。因此,看起来我要么需要一个或多个SuperView,并使我现有的基础视图在顶部透明,要么在我的3个子视图顶部添加一个透明视图,并将触摸传递给基础视图。我不知道如何将手势从一个视图传递到另一个视图。选项(2)是我考虑的方式。我会通过自己将UIView子类化(可能称之为EventGrabberView)并在其中实现
touchesBegind:
来获得触动。您可以为新的EventGrabberView指定一个代理,该代理将作为您的视图控制器,并以这种方式传递触摸事件。我在所有子视图的顶部添加了一个透明视图。为视图的句柄创建ivar。将手势识别器添加到透明视图,而不是基本视图。然后我需要实际使用控件,我禁用了透明视图上的手势识别,并将该视图移到后面,以便UIControl视图现在位于顶部。问题是,我需要在所有更改视图形状、大小、比例等的例程中添加新视图,以便在手势识别器调整大小/比例后,它可以看到整个基础视图上的触摸