问题标签 [uipickerviewdelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
368 浏览

swift - 如何在选择器中快速获取所选项目的标题和项目的价值?

让我先描述视图控制器(页面设计)方面。我添加了一个选择器视图、一个标签和一个按钮,这是我的 viewController 文件

如果我使用 myArray2 而不是 myArray,我怎样才能获得所选项目详细信息的名称,如姓名、姓氏等?我想在标签中显示所选项目的姓名、姓氏和生日。

0 投票
0 回答
171 浏览

ios - pickerView:didSelectRow:inComponent 被 VoiceOver 调用两次

我不确定我在这里缺少什么,但是当您选择带有 VoiceOver 的选择器视图行时,pickerView:didSelectRow:inComponent会被调用两次。

没有语音,它会被调用一次。

我已经在一个带有基本实现的全新项目上尝试过这个。

有什么想法吗?

0 投票
0 回答
54 浏览

ios - UIPickerView 选定的行标题设计在行值等于 1 时未更改

我有 2 个用于选择小时和分钟值的 uipickerviews。当我想为它们选择默认值时,如果 selectedRow = 1 标题颜色变为灰色(这意味着未选择行)并且此问题仅在第一次加载时发生(触发 viewDidLoad 时)。除了这些问题,颜色按预期更改。

这是我用于更改选择器标签及其规范的选择器委托方法。当我更改选择器值时,此功能非常有用。

在 viewDidLoad

当 selectRow 值等于 1 时,行标题颜色为灰色(这意味着该行未被选中)但第一行被选中。如果它与 1 不同,则其标题颜色为蓝色(应该是蓝色),并且选中的行也被选中。

换句话说,这两个示例按预期工作。

这不是。

谢谢您的帮助。祝你今天过得愉快。

0 投票
1 回答
604 浏览

swift - 检测 UIPickerView 何时开始更改/移动

我正在尝试对 aUIPickerView开始移动的事件做出反应(而不是在已经选择该行时)。

我搜索了整个委托方法,但没有任何帮助。我还尝试注册一个通知,但是当用户将手指放在组件上并开始滚动时,我找不到任何通知。

关于有什么替代方案的任何想法?

0 投票
1 回答
113 浏览

ios - 无法分配 UIPickerView 委托或数据源

由于某种原因,我无法将UIPickerView的数据源或委托给我的 NSObject。

我有一个NSObject延伸UIPickerViewDataSourceUIPickerViewDelegate

我有一个UIViewController尝试设置数据源和委托的方法。它是一个UIPickerView里面的UITableViewCell

我在顶部创建对象:

然后在cellForRowAt:我尝试设置数据源和委托。

当我运行它时它会崩溃,如果我调试并尝试打印出 cell.picker.delegate 我会收到一个错误:Unexpectedly found nil while unwrapping an Optional value

有谁知道我如何将 UIPickerViewDelegate 和 UIPickerViewDataSource 分配给这样的 NSObject ?

0 投票
2 回答
745 浏览

ios - 如何在 ViewController 之外符合 UIPickerViewDelegate 和 UIPickerViewDataSource?

我想在一个场景中拥有多个 UIPickerView,而不会让我的视图控制器因委托功能而臃肿。我在 UIPickerViews 上看到的所有教程都建议使用视图控制器本身作为UIPickerView.

如何将此委托代码移出ViewController

本教程的启发,这里有一个视图控制器,它将自己作为委托分配给它的 UIPickerViews。我对用于将行为映射到每个的 if/else 逻辑持批评态度UIPickerView

理想情况下,我希望有一个符合这些协议的自定义类,然后为每个类创建一个新实例,UIPickerView以便它们具有唯一的委托和行为。

当我尝试定义一个符合UIPickerViewDelegate&的名为 'PickerDelegate' 的单独类时UIPickerViewDataSource,我在 Xcode 中收到此错误:

类型“PickerDelegate”不符合协议“NSObjectProtocol”

显然UIPickerViewDelegate&UIPickerViewDataSource继承自NSObjectProtocol. 如果我添加协议存根(如 Xcode 所建议的那样),我会得到一长串我不热衷于实现的功能。

在视图控制器之外是否有更简单的方法来遵守这些协议?

0 投票
2 回答
488 浏览

arrays - 将更新的数组数据传递给 uipickerview

对 swift 来说还是很新,我在将更新的数据传递到 pickerview 时遇到了一些麻烦。我收到“索引超出范围”错误。我怀疑 uipickerview 看到的是空数组,即使数组正在更新。任何帮助深表感谢。

0 投票
0 回答
56 浏览

swift - 快速按下按钮时删除 UIPickerView

如何使用 swift 关闭 uipickerview 视图?我在 UITableView 中创建了 UIPickerView,因为我希望用 UITableView 中的元素填充它。然后我在屏幕上只出现了一个 UIButton。我想要它,以便在按下按钮时删除 UIPickerView。

0 投票
1 回答
26 浏览

swift - Pickerview 在文本字段中第二次单击时显示为空,当我按下完成或取消应用程序崩溃时

// 在文本字段中第一次单击时,性别选择器视图工作正常,但如果我按下然后在性别文本字段中再次按下,选择器显示为空。

// 当我按下取消或完成关闭选择器时,应用程序崩溃并出现以下错误

快速发送到实例的无法识别的选择器

此屏幕截图显示了我第二次按下文本字段

// 委托方法

0 投票
0 回答
40 浏览

swift - 在用户进行选择之前让 PickerView 存储数据

我正在研究拳击计时器。我在屏幕上有 3 个选择器视图。一个用于回合,一个用于每回合的时间,一个用于休息。我已经获得了打印所选选项的按钮,但这只是在用户从每个选项中选择了一些内容之后。因为它在有动作之前不会触发。如果用户从头开始点击,则显示 0 轮、0 次、0 次休息,而不是每个轮次中的第一个数组选择。我将乞求参数设置为每个数组的第一个数字,但我相信有更好的方法来做到这一点。如何在不需要用户交互的情况下调用蝙蝠右侧的选定行!?谢谢!

导入 UIKit

类 ViewController:UIViewController、UIPickerViewDelegate、UIPickerViewDataSource{

}