【问题标题】:UIPickerView not showing in popoverUIPickerView 未显示在弹出窗口中
【发布时间】:2015-08-28 14:59:43
【问题描述】:

我在我的故事板中创建了一个 UIViewController,里面有一个 UIPickerView。当我执行手动 segue 将此视图控制器显示为弹出框时,弹出框为空。

调试时我看到我的viewDidLoad被调用了,但是没有调用UiPickerViewDataSource和UIPickerViewDelegate函数。

首先,我认为我的 UIPickerView 数据源和委托出现了一些错误。但是我使用 UIViewController 运行我的应用程序,并将 UIPickerView 作为初始视图,并且选择器按预期显示。

picker视图代码如下:

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 在弹出窗口中不起作用吗?

【问题讨论】:

  • 这取决于你如何初始化包含pickerView的viewController
  • 我不明白你的评论。我没有在代码中初始化 ViewController。它要么是因为它是初始视图而被创建,要么是因为执行了一个segue。我应该在代码中做一些初始化吗?

标签: ios swift ios8 uipickerview popover


【解决方案1】:

我终于找到了我的错误。在我的故事板中,我专门为 iPad 设计了大小等级常规 x 常规。弹出框显示大小类 any x any。因此,视图保持空白。我在尺寸类 any x any 中设计了弹出视图控制器,现在它可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多