Ποια είναι η διαφορά μεταξύ frame και bounds στο iOS;
sobes.tech AI
Απάντηση από AI
Στο iOS, το UIView έχει δύο σημαντικές ιδιότητες για εργασία με συντεταγμένες: frame και bounds.
-
Το
frameείναι ένα ορθογώνιο που περιγράφει τη θέση και το μέγεθος στο σύστημα συντεταγμένων του superview (γονικού view). Δηλαδή, τοframe.originείναι οι συντεταγμένες στον χώρο του γονέα. -
Το
boundsείναι ένα ορθογώνιο που περιγράφει τις εσωτερικές συντεταγμένες του ίδιου του view. Συνήθως, τοbounds.originείναι (0,0), και το μέγεθος ταιριάζει με τοframe.size. Τοboundsκαθορίζει πώς το περιεχόμενο του view τοποθετείται μέσα σε αυτό.
Παράδειγμα:
Αν ένα UIView έχει frame με origin (50, 100) και μέγεθος (200, 100), βρίσκεται 50 μονάδες X και 100 μονάδες Y σε σχέση με τον γονέα. Το bounds του θα είναι συνήθως origin (0,0) και μέγεθος (200,100), δηλαδή οι εσωτερικές συντεταγμένες του view.
Έτσι:
frame— θέση και μέγεθος σε σχέση με τον γονέα.bounds— συντεταγμένες και μέγεθος μέσα στο ίδιο το view.