Sobes.tech
Junior

Ποια είναι η διαφορά μεταξύ 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.