Swift ScrollView、TextField和pickerview故障
我的问题是,当我运行项目并单击第一个文本字段时,其他文本字段暂时为空,应用程序会崩溃,出现以下错误: 由于未捕获的异常“UIViewControllerHierarchyInconsistency”而终止应用程序,原因:“子视图控制器:应具有父视图控制器:但请求的父视图控制器为:” 这是我的代码:Swift ScrollView、TextField和pickerview故障,swift,uiscrollview,uitextfield,uipickerview,Swift,Uiscrollview,Uitextfield,Uipickerview,我的问题是,当我运行项目并单击第一个文本字段时,其他文本字段暂时为空,应用程序会崩溃,出现以下错误: 由于未捕获的异常“UIViewControllerHierarchyInconsistency”而终止应用程序,原因:“子视图控制器:应具有父视图控制器:但请求的父视图控制器为:” 这是我的代码: import UIKit class ServiceAppointment: UIViewController, UIPickerViewDelegate, UIPickerViewDataSour
import UIKit
class ServiceAppointment: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet weak var ScrollView: UIScrollView!
@IBOutlet weak var pickerView: UIPickerView!
@IBOutlet weak var StateField: UITextField!
@IBOutlet weak var CityField: UITextField!
@IBOutlet weak var VehRegNumberField: UITextField!
@IBOutlet weak var LocationField: UITextField!
@IBOutlet weak var CurrentKmsField: UITextField!
@IBOutlet weak var apptDateFIeld: UITextField!
@IBOutlet weak var apptTypeField: UITextField!
@IBOutlet weak var pickupField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
ScrollView.contentSize.height = 1000
pickerView.hidden = true;
StateField.text = States[0]
self.pickerView.dataSource = self;
self.pickerView.delegate = self;
self.StateField.inputView = pickerView
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
var States = ["Italy","United States","UK","France"]
//MARK: - Delegates and data sources
//MARK: Data Sources
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return States.count
}
//MARK: Delegates
func pickerView2(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return States[row]
}
func pickerView3(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
StateField.text = States[row]
pickerView.hidden = true;
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
pickerView.hidden = false
return false
}
}
我认为这是多视图的问题,因此我在viewDidLoad中写道:
但随后所有的滚动视图都明显消失了
我如何才能做到这一点,以便在按下文本字段时,出现pickerview?我认为您的故事板或XIB有问题。你的UI在哪里?我有视图和scrollview它是一个子视图,然后文本字段在scrollview中我是说你的控制器在哪里?在故事板中还是在XIB中?好的,所以问题在其他地方。检查这个线程:我已经看到了,但是我没有解决这个问题
self.StateField.removeFromSuperView()