如何禁用 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)?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确禁用 UIPickerView 组件滚动?

如何在使用 UIPickerView 时禁用视图

Swift:点击 UITextField 时如何显示 UIPickerView

如何使用 Swift 3 UIPickerView 引用多行?

在 UITextView 中禁用光标和复制/粘贴(swift)

Swift - 如何从 UIPickerView 生成数据的许多 UITextField 中读取数据 [关闭]