【发布时间】:2016-02-10 20:23:22
【问题描述】:
我搜索了一下,我似乎无法弄清楚为什么我的模拟器屏幕在运行时是黑色的。版权页面仍会加载,但之后的视图是黑色的。我认为这可能与viewdidLoad() 有关。我可能是错的,因为我是 Swift 的新手。请帮我。谢谢。
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet var Picker: UIPickerView!
@IBOutlet var Button: UIButton!
var PlacementAnswer = 0
var Array = ["First View Controller", "Second View Controller"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
Picker.delegate = self
Picker.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return Array [row]
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return Array.count
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
@IBAction func Select(sender: AnyObject){
if (PlacementAnswer == 0){
performSegueWithIdentifier("FirstView", sender: sender)
}else{
performSegueWithIdentifier("SecondView", sender: sender)
}
return
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
NSLog("Hello")
PlacementAnswer = row
}
}
【问题讨论】:
-
你有一个调试器。调试!在 inside
viewDidLoad中放置一个断点,看看它是否被调用。如果没有,那就是问题所在:视图永远不会被加载。 -
打印所有内容。在
viewDidLoad中打印并打印出它的视图和所有子视图,看看是否有任何东西首先添加到视图中。如果这不起作用,请继续在任何地方添加打印。它帮助我解决了一些棘手的错误。 -
在
.xib或.storyboard中检查视图已连接到文件所有者并且视图具有正确的类名 -
好的,谢谢,我会尝试所有这些建议。
标签: ios swift ios-simulator viewdidload