我想知道是否有可能像我在图片中给出的那样为每个组件提供标题?... Portrait mode
我已经通过添加标签作为子视图来设置标签,但我还必须以横向模式进行管理,所以这里是... landscape mode
那么,我的问题是可以从特定组件中获取所选标签的框架吗?我的意思是我可以在不添加子视图的情况下管理它,这样我就可以在所有设备和所有方向上管理这个标签。
谢谢!!!
答案 0 :(得分:0)
关键是为所选行设置自定义标题 根据UIPickerView中的selectedRow函数,返回组件中的选定行。因此,您无需担心为该方向或手柄方向模式添加额外标签 尝试这样做(标题是您当前在每一行中显示的内容):
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
switch component {
case 0:
if self.yourPickerView.selectedRow(inComponent: 0) == row
{
return "\(title) Hour"
}
else
{
return title
}
case 1:
if self.yourPickerView.selectedRow(inComponent: 1) == row
{
return "\(title) Min"
}
else
{
return title
}
case 2:
if self.yourPickerView.selectedRow(inComponent: 2) == row
{
return "\(title) Sec"
}
else
{
return title
}
default:
return ""
}
}
最后在didSelectRow
:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
// your code
pickerView.reloadAllComponents()
}
虽然这不是最好的方式(我猜),但它肯定比放置单独的标签和处理方向更好。