in meinem Hauptansicht-Controller Ich habe eine Schaltfläche, die ein Dialogfeld mit zwei Schaltflächen und einem TableView Popups. Die TabelleView wird mit einer benutzerdefinierten UIView angezeigt, und die UITableViewCell ist ebenfalls benutzerdefiniert. Das UITableViewCell besteht aus einem benutzerdefinierten Kontrollkästchen und einem UILabel.Ich versuche, eine tap-Geste zum tableView hinzuzufügen, so dass, wenn ich auf eine Zeile klicke, das Kontrollkästchen markiert. Diese Funktion irgendwie von Werken, aber wenn ich für mehr als 3 Sekunden gedrückt setzt die UITableViewCell auf diesenSwift UiTableViewCell Setzt nach langem Drücken
UITableViewCell Error ScreenShot
Ich weiß nicht, was diesen Fehler verursacht. Jede Hilfe wäre willkommen.
Hier ist mein Code in meinem Viewcontroller, der das Popup-Dialog öffnet sich:
func locationButtonPressed(sender: UIBarButtonItem) {
// Create a custom view controller
let vc = RadiusViewController(nibName: "RadiusViewController", bundle: nil)
// Create the dialog
let popup = PopupDialog(viewController: vc, buttonAlignment: .horizontal, transitionStyle: .bounceDown, gestureDismissal: true)
// create first button
let cancelButton = CancelButton(title: "Cancel", height: 60, dismissOnTap: true) {
print("Popup Canceled")
}
// create second button
let okButton = DefaultButton(title: "Ok", height: 60, dismissOnTap: true) {
print("Ok button pressed")
}
// add buttons to dialog
popup.addButtons([cancelButton, okButton])
// present dialog
self.present(popup, animated: true, completion: nil)
print("location button pressed")
}
Tap-Geste Funktion in meiner Gewohnheit UIView mit dem Tableview:
override func viewDidLoad() {
super.viewDidLoad()
...code
let tap = UITapGestureRecognizer(target: self, action: #selector(tableTapped))
self.tableView.addGestureRecognizer(tap)
}
func tableTapped(tap:UITapGestureRecognizer) {
let location = tap.location(in: self.tableView)
let path = self.tableView.indexPathForRow(at: location)
if let indexPathForRow = path {
self.tableView(self.tableView, didSelectRowAt: indexPathForRow)
print("Tapped on the table")
} else {
// handle tap on empty space below existing rows however you want
}
}
Wie würde ich das machen? – satish99