Sobes.tech
Junior — Middle

Ποια είναι τα διαφορές μεταξύ των ιδιοτήτων Frame και Bounds στο γραφικό περιβάλλον;

sobes.tech AI

Απάντηση από AI

Στο iOS, το UIView έχει δύο σημαντικές ιδιότητες για τον προσανατολισμό και το μέγεθος: frame και bounds.

  • Το frame είναι ένα ορθογώνιο που ορίζει τη θέση και το μέγεθος της προβολής στις συντεταγμένες της υπερ-προβολής (γονική προβολή). Δηλαδή, το frame.origin είναι ένα σημείο σε σχέση με τον γονέα.

  • Το bounds είναι ένα ορθογώνιο που ορίζει τις εσωτερικές διαστάσεις και τις συντεταγμένες της ίδιας της προβολής. Συνήθως, το bounds.origin είναι (0,0), και το bounds.size είναι το μέγεθος της προβολής.

Παράδειγμα: Αν ένα UIView έχει frame με αρχή (50, 100) και μέγεθος (200, 100), τότε βρίσκεται στα 50 κατά μήκος του άξονα X και στα 100 κατά μήκος του άξονα Y σε σχέση με τον γονέα. Το bounds πιθανότατα θα έχει αρχή (0,0) και μέγεθος (200, 100), που περιγράφει το εσωτερικό σύστημα συντεταγμένων της προβολής.

Έτσι, το frame υπεύθυνο για τη θέση και το μέγεθος στο σύστημα συντεταγμένων του γονέα, ενώ το bounds για το εσωτερικό σύστημα συντεταγμένων και το μέγεθος της ίδιας της προβολής.