问题标签 [uipickerview]
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.
ios - 你如何让 UIPickerView 组件环绕?
我想在 UIPickerView 组件中显示一组连续的数字,但让它像 Clock->Timer 应用程序的秒组件一样环绕。我可以启用的唯一行为类似于 Timer 应用程序的小时组件,您只能在一个方向上滚动。
iphone - 修复了 UIPickerView 选择栏中的标签
在时钟应用程序中,计时器屏幕显示一个选择器(可能是UIPicker
在UIDatePickerModeCountDownTimer
模式下),在选择栏中带有一些文本(在本例中为“小时”和“分钟”)。
(edit) Note that these labels are fixed : They don't move when the picker wheel is rolling.
有没有办法在标准UIPickerView
组件的选择栏中显示这样的固定标签?
我没有找到任何有助于解决此问题的 API。一个建议是添加 aUILabel
作为选择器的子视图,但这不起作用。
回答
我听从了 Ed Marty 的建议(下面的答案),它奏效了!不完美,但它应该愚弄人们。作为参考,这是我的实现,请随时改进...
objective-c - 在 UIPickerView 而不是 UIView 中响应 touchesBegan
我有一个 UIPickerView 在不使用时会淡出到 20% 的 alpha。我希望用户能够触摸选择器并将其淡入。
如果我在主视图上放置一个 touchesBegan 方法,我可以让它工作,但这仅在用户触摸视图时有效。我尝试对 UIPickerView 进行子类化并在其中设置 touchesBegan,但它没有用。
我猜这与响应者链有关,但似乎无法解决。
ios - 如何更改 UIPickerView 高度
是否可以更改 UIPickerView 的高度?一些应用程序的 PickerViews 似乎较短,但设置较小的框架似乎不起作用,并且框架在 Interface Builder 中被锁定。
iphone - UIPickerView 中的文本右对齐
如何正确对齐 a 中的文本UIPickerView
?我尝试UILabel
为行视图制作自定义 s,但由于某种原因,没有显示任何内容,无论是右对齐还是其他。这是我写的:
如果有人想知道,我使用CGRectZero
它是因为我在UICatalog
示例中看到了它。
iphone - 如何在 iPhone 上放大选取器视图?
我在应用程序中的一个视图中添加了一个 PickerView,但它的尺寸太小(高度)。我发现我无法拖动以使其“更长”。那么如何改变它的大小呢?
iphone - UIPickerView 如何处理 2+ 个旋转的表盘?
如果我有一个带有三个组件(表盘)的 UIPickerView。拾取器如何处理同时旋转的两个表盘?例如,用户可能轻拂第一个转盘,该转盘自由旋转并立即缓慢点击第二个转盘上的选择。
我正在选择器中执行以下操作。如果一个表盘在旋转,我不会捕捉到它的价值。我只在表盘一次旋转一个时捕获值。
即使两个表盘在旋转,是否有更好的方法来确保捕获值?
iphone - selectRow 动画完成后如何从 UIPickerView 获取回调?
我有一个 UIPickerView,我希望在 selectRow 动画完成时收到通知。
我在我的视图控制器中尝试了以下方法,它引用了 UIPickerView 并且它不起作用:
然后在我的代码中的某个地方,我启动了动画:
iphone - UIPickerView - 第一行选择不调用 didSelectRow
UIPickerView
我有一个UIView
和一个UITextField
。我让用户从选择器中选择一个值或在文本字段中输入一个自定义值。
当用户从选择器中选择任何选项时,变量值会被很好地更改(在pickerView:didSelectRow:inComponent:
)方法中。但是如果用户没有在选择器上选择任何值(因为他们想选择已经选择的第一个选项),则不会调用此方法并且选择不会反映在变量中。
我尝试将变量的默认值设置为选择器中的第一个选项。但在这种情况下,当用户编辑文本字段时,变量将具有文本字段的文本。现在,如果用户决定再次选择第一个值,则新值不会反映在变量中。
我该如何克服呢?谢谢。
这是相关代码
在我viewDidLoad
的这个语句中selectText
,默认情况下将选择器的第一个选项设置为
textFieldShouldReturn
PickerViewDelegate 的 didSelectRow
当用户编辑文本然后决定他毕竟要使用选择器的第一个值时,就会出现问题。在这种情况下,他们将关闭键盘并单击选择器的第一个选项(已被选中)。此操作不会调用didSelectRow
,因此 selectText 的值不会更改。
为了让用户能够更改 的值selectText
,他们首先必须从选择器中选择一些其他值,然后选择第一行。
objective-c - Select row After UIPickerView is loaded
I have an iPhone database app that loads a UIPickerView
with data from a table. I want to set the selected row to a particular row from the data in another table.
For example: Let's say I have a UIPickerView
that is loaded with X number of names of the iPhone users' friends (the number of names is variable; it could be 1 or 1000 and all are entered into the database by the user). The iPhone user has a preference set that their current best friend is TED. I want the UIPickerView
to be position to TED when displayed.
Where do I call selectRow
?
I tried in viewDidAppear
, but it was never called, in titleForRow
which caused all kinds of strange behavior. viewDidLoad
and viewWillAppear
are out of the question, because I don't know what's in the datasource to the picker yet.