我在故事板中创建了一个UIViewController,里面有一个UIPickerView。当我执行手动segue将此视图控制器显示为弹出窗口时,弹出窗口为空。
调试时我看到我的viewDidLoad被调用,但是没有调用UiPickerViewDataSource和UIPickerViewDelegate函数。
首先我认为我的UIPickerView数据源和委托犯了一些错误。但我用UIViewController运行我的应用程序,UIPickerView作为初始视图,并且选择器按预期显示。
选择器视图代码如下:
import UIKit
class PickerVC: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet weak var pickerView: UIPickerView!
var pickerDataSource = ["White", "Red", "Green", "Blue"];
override func viewDidLoad() {
super.viewDidLoad()
}
// MARK: - UIPickerViewDataSource
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerDataSource.count;
}
// MARK: - UIPickerViewDelegate
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return pickerDataSource[row]
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
if(row == 0) {
self.view.backgroundColor = UIColor.whiteColor();
} else if(row == 1) {
self.view.backgroundColor = UIColor.redColor();
} else if(row == 2) {
self.view.backgroundColor = UIColor.greenColor();
} else {
self.view.backgroundColor = UIColor.blueColor();
}
}
}
有人能解释为什么UIPickerView无法在popover中运行吗?
答案 0 :(得分:0)
我终于找到了我的错误。在我的故事板中,我正在为常规x常规尺寸等级的iPad设计。弹出窗口显示任何x any的大小类。因此,观点一直空着。我设计了尺寸类中任何x任意的popover视图控制器,现在它正在工作。