UIPickerView 禁用列

发布于 2024-10-13 04:30:10 字数 68 浏览 8 评论 0原文

如何禁用 UIPickerView 列?

我只想禁用一列选择器。假设我有 3 列的选择器,我想禁用第二列。

How can i disable UIPickerView column?

I want to disable only one column of picker. Lets say i have picker with 3 column and i want to disable second column.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谎言月老 2024-10-20 04:30:10

这里有几个选项。

1) 捕获与第二列的交互并覆盖它。

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;

实现此方法可以简单地返回到选择之前的位置。但是,他们仍然能够与第二列交互。

2) 只需将色谱柱从选取器中取出即可。

我相信这是最好的选择。有一些布尔值“showSecondColumn”。然后,在:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

您可以简单地检查您的小标志并返回适当的数字。 UIPickerView 有一个方法:reloadAllComponents

祝你好运!

There are a couple options here.

1) Capture interaction with the second column and override it.

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;

This method can be implemented to simply go back to where it was before the selection. However, they will still be able to interact with the second column.

2) Simply remove the column from the picker.

I believe this is the best option. Have some boolean 'showSecondColumn'. Then, in:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

you can simply check your little flag and return the appropriate number. UIPickerView has a method: reloadAllComponents

Good luck!

¢好甜 2024-10-20 04:30:10

似乎没有办法禁用列。我解决了(不是最好的解决方案),如下所示:

  1. 将列获取为“图像”(快照)
  2. 灰度“图像”
  3. 设置“图像视图”启用用户交互
  4. 将“图像视图”添加到选择器作为子视图

如果有任何更好的方法那就太好了。

It seems there is no way to disable column. I solved(not best solution) like this:

  1. get column as "image" (snapshot)
  2. grayscale "image"
  3. set "image view" user interaction enabled
  4. add "image view" to picker as subview

If there is any better way it would be great.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文