我正在尝试获取pickerView的第一行数据。
当我回到pickerView页面时,我得到了第一个数据,但是我在屏幕上得到了错误的行。这就是我获得第一行的方式:
pickerView(myPickerView!, didSelectRow: 0, inComponent: 0)
我在viewDidLoad中使用此代码。如何在屏幕上显示第一行?
答案 0 :(得分:1)
List<int> lstSports = new List<int>();
if(sport != null)
{
lstSports.Add(Convert.ToInt32(sport));
}
if (sport1 != null)
{
lstSports.Add(Convert.ToInt32(sport1));
}
if (lstSports.Count > 0)
{
foreach(int i in lstSports)
{
if(lstSports.IndexOf(i) == 0)
{
predicate = predicate.And(x => x.SportsID == i);
}
else
{
predicate = predicate.Or(x => x.SportsID == i);
}
}
}
答案 1 :(得分:1)
请使用此代码选择特定行
let picker = UIPickerView()
picker.selectRow(0, inComponent: 0, animated: true)
答案 2 :(得分:0)
当我回到页面时,我放弃获取第一个选择器行数据。我认为它应该是我应该得到的选定行数据。我结合你的解决方案并找到解决方案。
工作代码:
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView {
let pickerLabel = UILabel()
let titleData = newuser!.valueForKey("name").objectAtIndex(row) as! String
let myTitle = NSAttributedString(string: titleData, attributes: [NSFontAttributeName:UIFont(name: "Times New Roman", size: 25.0)!,NSForegroundColorAttributeName:UIColor.whiteColor()])
pickerLabel.attributedText = myTitle
pickerLabel.textAlignment = .Center
selectedLog = (newuser?.valueForKey("name").objectAtIndex(row))! as! String
return pickerLabel
}
当我返回viewForRow
页面时,此pickerView
函数可让我获取所选行数据。 selectedLog
是我的字符串变量。我从这里显示并保存选定的行数据。 titleData
变量可让我获取所选数据。而已!谢谢你们所有人。