Intern
Πώς αντιδρούν οι εφαρμογές στις πατήσεις κουμπιών;
sobes.tech AI
Απάντηση από AI
Το γεγονός touch που αποστέλλεται από το λειτουργικό σύστημα επεξεργάζεται.
Διαδικασία:
- Ο χρήστης αγγίζει την οθόνη.
- Το iOS καταγράφει το γεγονός
UITouch. - Το γεγονός αποστέλλεται στο κύριο παράθυρο (
UIWindow). - Το παράθυρο προωθεί το γεγονός στη σειρά ανταποκριτών (
Responder Chain). - Το πάτημα στο κουμπί (
UIButton) αναγνωρίζεται ως γεγονόςUIControlEventTouchUpInside. - Το
UIButtonκαλεί τη συνάρτηση χειριστή που σχετίζεται με αυτό το γεγονός (target/action).
Παράδειγμα:
// Συνδέουμε target/action για το γεγονός "πατήστε το κουμπί μέσα"
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
// Ορίζουμε τη συνάρτηση χειριστή
@objc func buttonTapped() {
// Λογική μετά το πάτημα του κουμπιού
print("Το κουμπί πατήθηκε!")
}
Η σειρά ανταποκριτών (Responder Chain):
UIView(κουμπί)- Η υπερ-θέα (
superview) του κουμπιού - Ο ελεγκτής θέασης (
UIViewController) - Το παράθυρο (
UIWindow) - Ο διαχειριστής εφαρμογής (
UIApplicationDelegate)
Το γεγονός κινείται προς τα πάνω στη σειρά μέχρι να το χειριστεί ή να το απορρίψει. Το UIButton συνήθως χειρίζεται το touchUpInside από μόνο του.