我正在使用UIAlertController获取用户输入并更新表格单元。每次尝试创建警报时,都会在控制台中收到以下警告:
2015-11-19 17:51:42.034 SimpleTableView[5488:584215] UICollectionViewFlowLayout的行为未定义,因为: 2015-11-19 17:51:42.035 SimpleTableView[5488:584215] item高度必须小于UICollectionView减去节拍上下值和内容插入上下值的高度。 2015-11-19 17:51:42.036 SimpleTableView[5488:584215] 相关的UICollectionViewFlowLayout实例是<_UIAlertControllerCollectionViewFlowLayout: 0x7fd0a057c3d0>,它附加到; layer = ; contentOffset: {0, 0}; contentSize: {0, 0}> collection view layout: <_UIAlertControllerCollectionViewFlowLayout: 0x7fd0a057c3d0>。 2015-11-19 17:51:42.036 SimpleTableView[5488:584215] 在调试器中设置一个符号断点来捕获UICollectionViewFlowLayoutBreakForInvalidSizes。
实现方法非常简单,正如许多博客中所提到的。
我在导航按钮点击时调用此函数。警告正确显示,但每次尝试点击创建警报的按钮时都会收到此警告。 我做错了什么或者我跳过了什么吗? 编辑:添加截图:从导航项按钮调用警报,在tableView上。
2015-11-19 17:51:42.034 SimpleTableView[5488:584215] UICollectionViewFlowLayout的行为未定义,因为: 2015-11-19 17:51:42.035 SimpleTableView[5488:584215] item高度必须小于UICollectionView减去节拍上下值和内容插入上下值的高度。 2015-11-19 17:51:42.036 SimpleTableView[5488:584215] 相关的UICollectionViewFlowLayout实例是<_UIAlertControllerCollectionViewFlowLayout: 0x7fd0a057c3d0>,它附加到; layer = ; contentOffset: {0, 0}; contentSize: {0, 0}> collection view layout: <_UIAlertControllerCollectionViewFlowLayout: 0x7fd0a057c3d0>。 2015-11-19 17:51:42.036 SimpleTableView[5488:584215] 在调试器中设置一个符号断点来捕获UICollectionViewFlowLayoutBreakForInvalidSizes。
实现方法非常简单,正如许多博客中所提到的。
func displayAlertInfo(){
let alertController = UIAlertController(title: "New Race", message: "Type in a new race", preferredStyle: .Alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) { (_) in
alertController.dismissViewControllerAnimated(true, completion: nil)
}
let addAction = UIAlertAction(title: "Add", style: .Default) { (_) in
let textFieldInput = alertController.textFields![0] as UITextField
let newRace = textFieldInput.text?.capitalizedString
DataManager.sharedInstance.addRace(species: self.species, race: newRace!)
let newIndexPath = NSIndexPath(forRow: self.races.count - 1, inSection: 0)
self.racesTableVew.insertRowsAtIndexPaths([newIndexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
}
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
textField.placeholder = "New Race"
}
alertController.addAction(cancelAction)
alertController.addAction(addAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
我在导航按钮点击时调用此函数。警告正确显示,但每次尝试点击创建警报的按钮时都会收到此警告。 我做错了什么或者我跳过了什么吗? 编辑:添加截图:从导航项按钮调用警报,在tableView上。
alertcontroller
而不是UIViewController
对象。 - Mohammad Zaid Pathan