如何禁用 UIPickerView (Swift)?
Posted
技术标签:
【中文标题】如何禁用 UIPickerView (Swift)?【英文标题】:How to disable UIPickerView (Swift)? 【发布时间】:2017-01-22 22:24:20 【问题描述】:我想禁用 UIPickerView,但将其设置为“isEnabled = false”不起作用。不,我不想在使用视图时禁用视图,而是在执行特定操作以重新启用视图之前无法滚动视图。
我在这里尝试的代码不起作用(它甚至可能不是 swift 代码):How to disable UIPickerView (Objective-C)?
【问题讨论】:
【参考方案1】:要禁用用户输入,请使用:
myPickerView.isUserInteractionEnabled = false
然后,要重新启用用户输入,请使用:
myPickerView.isUserInteractionEnabled = true
来自.isUserInteractionEnabled 上的 Apple 文档页面:
当设置为 false 时,用于视图的用户事件(例如触摸和键盘)将被忽略并从事件队列中删除。当设置为 true 时,事件会正常传递到视图。
【讨论】:
如果 UserInteractionEnabled 设置为 false,您知道如何将 UIPickerView 更改为灰色吗? 只需在myPickerView.alpha = 1
(正常)和myPickerView.alpha = 0.5
(灰显)之间切换。请注意,您可以将 0.5 更改为您想要的 alpha 值
设置 getter isUserInteractionEnabled
不起作用。相反,您可以使用属性userInteractionEnabled
。
"设置 getter isUserInteractionEnabled 不起作用。" 它确实起作用。 userInteractionEnabled
用于 Obj-C 版本。对于 Swift,isUserInteractionEnabled
有一个 getter 和一个 setter。以上是关于如何禁用 UIPickerView (Swift)?的主要内容,如果未能解决你的问题,请参考以下文章
Swift:点击 UITextField 时如何显示 UIPickerView
如何使用 Swift 3 UIPickerView 引用多行?