如何在Swift中禁用UIPickerView?

3
我希望禁用UIPickerView,但设置“isEnabled = false”无效。不要误解,我不想在使用它时禁用视图,而是在某些操作完成之前无法通过视图滚动,直到重新启用为止。
我尝试的代码不起作用(可能甚至不是Swift代码):如何禁用UIPickerView(Objective-C)?
1个回答

16
禁用用户输入,请使用:

disabled

myPickerView.isUserInteractionEnabled = false

然后,要重新启用用户输入,请使用:

myPickerView.isUserInteractionEnabled = true

来自苹果文档页面关于.isUserInteractionEnabled:

当设置为false时,针对该视图的用户事件(例如触摸和键盘)将被忽略并从事件队列中删除。当设置为true时,事件将正常传递到视图。


你知道如果将UIPickerView的UserInteractionEnabled属性设置为false,如何将其变成灰色吗? - Michael
1
只需在 myPickerView.alpha = 1(正常)和 myPickerView.alpha = 0.5(灰色)之间切换即可。请注意,您可以将0.5更改为所需的alpha值。 - LordColus
设置 getterisUserInteractionEnabled 不起作用。 相反,您可以使用属性 userInteractionEnabled - Patrick Haaser
1
“设置getter的isUserInteractionEnabled不起作用。” 实际上是有效的。 userInteractionEnabled 是Obj-C版本的属性。对于Swift,isUserInteractionEnabled 有getter和setter。 - Gino Mempin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接