是否可以为Swift Picker设置占位符文本?我一直在寻找一个有用的答案,但到目前为止还没有成功。
目前,在将可用列表值传递给选择器时,我也会传递一个默认值作为初始值。但是,该默认值的处理方式与用户拾取该默认值的处理方式相同。我试图实现的是,默认值应该是灰色的(就像标准文本字段的常规占位符),当用户打开选择器时,该值将“消失”作为默认值,迫使用户从列表中选择一些东西(但不会丢失范围)-
例如,如果我有一个选择器,用于选择1-200之间的值,并且我将占位符设置为100,则当您打开选择器时,选择器仍然会显示此值(以避免从头开始滚动),但除非用户实际选择它,否则它不会直接作为目标值。
2条答案
按热度按时间zaqlnxep1#
在这种情况下,
Menu
可能是比Picker
更好的选择。字符串
Menu Documentation
lvjbypge2#
您可以通过在SwiftUI选择器中的
ForEach
之前添加if
语句来获得Placeholder
值。这个想法是给予
@State var selection
一个值,占位符将被保存在这个值上。如果此值更改为预期的选择,则占位符值将消失。字符串