Sobes.tech
Junior

რა არის განსხვავება frame და bounds შორის iOS-ში?

sobes.tech AI

პასუხი AI-სგან

iOS-ში, UIView-ს აქვს ორი მნიშვნელოვანი მახასიათებელი კოორდინატებთან მუშაობისთვის: frame და bounds.

  • frame არის მართკუთხედი, რომელიც აღწერს პოზიციას და ზომას სუპერვიუ (მშობელ ვიუ) კოორდინატულ სისტემაში. სხვა სიტყვებით რომ ვთქვათ, frame.origin არის კოორდინატები მშობელ სივრცეში.

  • bounds არის მართკუთხედი, რომელიც აღწერს ვიუის შიდა კოორდინატებს. ჩვეულებრივ, bounds.origin არის (0,0), ხოლო ზომა ემთხვევა frame.size-ს. bounds განსაზღვრავს, როგორ არის განთავსებული შიგთავსი ვიუის შიგნით.

მაგალითი: თუ UIView-ს აქვს frame-ი ორიენტით (50, 100) და ზომით (200, 100), ის მდებარეობს 50 X-ზე და 100 Y-ზე მშობელთან მიმართებაში. მისი bounds ჩვეულებრივ იქნება ორიენტით (0,0) და ზომით (200,100), ანუ ვიუის შიდა კოორდინატები.

ასე რომ:

  • frame — პოზიცია და ზომა მშობელთან მიმართებაში.
  • bounds — კოორდინატები და ზომა ვიუის შიგნით.