Sto usando un UIAlertController per prendere l'input dell'utente e aggiornare una cella di tabella. Ogni volta quando si tenta di creare un allarme, ho questa seguente avviso nella consoleUIAlertController: UICollectionViewFlowLayout non è definito avviso ogni volta che provo a richiamare un UIAlertcontroller
2015-11-19 17: 51: 42,034 SimpleTableView [5488: 584.215] il comportamento del UICollectionViewFlowLayout non è definito perché:
2015-11-19 17: 51: 42.035 SimpleTableView [5488: 584215] l'altezza dell'elemento deve essere inferiore all'altezza di UICollectionView meno la sezione inserisce i valori superiore e inferiore, meno il contenuto inserisce i valori superiore e inferiore.
2015/11/19 17: 51: 42,036 SimpleTableView [5488: 584.215] L'istanza UICollectionViewFlowLayout rilevante è < _UIAlertControllerCollectionViewFlowLayout: 0x7fd0a057c3d0>, ed è collegato a; layer =; contentOffset: {0, 0}; contentSize: {0, 0}> layout vista collezione: < _UIAlertControllerCollectionViewFlowLayout: 0x7fd0a057c3d0>. 2015-11-19 17: 51: 42.036 SimpleTableView [5488: 584215] Crea un punto di interruzione simbolico in UICollectionViewFlowLayoutBreakForInvalidSizes per rilevare ciò nel debugger.
l'implementazione è piuttosto semplice come accennato in numerosi blog,
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)
}
Io chiamo questa funzione su un rubinetto pulsante di navigazione. L'avviso viene visualizzato correttamente, ma continuo a ricevere questo avviso ogni volta che tento di toccare il pulsante che crea l'avviso. Cosa sto sbagliando o sto saltando qualcosa?
MODIFICA: Aggiunto Screenshot: L'avviso viene chiamato dal pulsante della voce di navigazione, su un TableView.
Hai qualche soluzione? –
No. Arriva ancora. –