2015-10-24 61 views
1

我试图在观看Kit中的一个选择器视图从-273到273可悲的是关注套件只允许一个字符串作为标题,所以我使用.MAP现在,当我运行程序的时候,显示一系列的转换我的范围从0到546,但不会进入负值区域内我试图改变这两个值,但选择器总是从0开始,不回去进一步。WKPickerItems和范围

我找出问题到这些行:

let pickerItems: [WKPickerItem] = (-273...273).map { 
     let pickerItem = WKPickerItem() 
     pickerItem.title = "\($0)" 
     return pickerItem 
    } 

回答

1

我只是想出来,你的代码确实显示在选择器负值。然后,当用户选择一个值,你必须采取的值,并用它来从你的pickerItems阵列获取的“真实”价值:

class InterfaceController: WKInterfaceController { 

    @IBOutlet var picker: WKInterfacePicker! 
    var pickerItems: [WKPickerItem]? 

    override func awakeWithContext(context: AnyObject?) { 
     super.awakeWithContext(context) 

     pickerItems = (-273...273).map { 
      let pickerItem = WKPickerItem() 
      pickerItem.title = "\($0)" 
      return pickerItem 
     } 
     picker.setItems(pickerItems) 
    } 

    @IBAction func pickerDidChange(value: Int) { 
     let pickedItem = pickerItems![value] // value = 0..576 
     if let pickedValue = Int(pickedItem.title!) { 
      print(pickedValue) // -273..273 
     } 

    } 
} 

enter image description here