stellte ich einen UITableViewController in einem popover auf dem iPad angezeigt werden: von einem UIAlertController Präsentieren innerhalb eines Popover in iOS8
Wenn ich auf eine Reihe klicken, ich zeige eine Warnung dem Benutzer eines potenziellen destruktiven zu warnen Aktion. verwendete ich den neuen UIAlertController, und hier ist, was passiert:
Die popover sehr klein (die Größe der alertController Ansicht in der Tat). Wenn ich auf Abbrechen drücken, kann ich sehen das Ergebnis:
Hier ist mein Code:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
var previouslySelectedCell: UITableViewCell?
if checkedIndexPath != nil {
previouslySelectedCell = tableView.cellForRowAtIndexPath(checkedIndexPath)
}
var selectedCell = tableView.cellForRowAtIndexPath(indexPath)
let selectedCurrency = PortfolioCurrencyStore.sharedStore().allCurrencies[indexPath.row]
if selectedCurrency.symbol != GlobalSettings.sharedStore().portfolioCurrency {
// Warning : changing the portfolio currency will reset the portfolio
var resetWarning = UIAlertController(title: NSLocalizedString("Currency Picker VC:AS title", comment: "Changing currency will reset portfolio"), message: nil, preferredStyle: .ActionSheet)
// destructive button
let resetAction = UIAlertAction(title: NSLocalizedString("Currency Picker VC:AS destructive", comment: "Destructive button title"), style: .Destructive, handler: { (action: UIAlertAction!) in
// Remove checkmark from the previously marked cell
previouslySelectedCell?.accessoryType = .None
// Add checkmark to the selected cell
selectedCell?.accessoryType = .Checkmark
self.checkedIndexPath = indexPath
// Animate deselection of cell
self.tableView.deselectRowAtIndexPath(indexPath, animated:true)
// Stock the portfolio currency as NSUserDefaults
GlobalSettings.sharedStore().portfolioCurrency = selectedCurrency.symbol // link between portfolioCurrency as a String and currency.symbol as the property of a Currency instance.
// Delete all items from the StockStore
StockStore.sharedStore().removeAllStocks()
println("StockStore : all entries were deleted")
// Reload tableView
self.tableView.reloadData()
})
// cancel button
let cancelAction = UIAlertAction(title: NSLocalizedString("Currency Picker VC:AS cancel", comment: "Cancel button title"), style: .Cancel, handler:nil)
resetWarning.addAction(resetAction)
resetWarning.addAction(cancelAction)
presentViewController(resetWarning, animated: true, completion: nil)
} else {
// Animate deselection of cell
tableView.deselectRowAtIndexPath(indexPath, animated:true)
}
}
Habe ich etwas verpasst?
Danke für Ihre Hilfe
Das gleiche Problem hier :-( – Scotty