Каква е връзката между произхода на рамката на UIView и нейния център?

Да кажем, че създавам анимация и искам да преместя центъра на UIView към определен CGPoint, който имам. Знам какъв искам да бъде центърът, само гореспоменатото CGPoint, и знам ширината и височината, които искам, но когато тръгна да създавам рамката за моя UIView, нямам представа какво да задам за x и y за origin.

Трябва ли просто да задам 0, 0 или нещо друго? Има ли значение?

Трябва ли просто да мисля като задаване на center като различен метод за задаване на произхода? Кара ме да искам CGRect да има инстанциатор с center като опция.

Имаше предишен въпрос, засягащ донякъде подобен въпрос, но той ги разглежда като три отделни обекта, а не как да се справят с центъра при създаването на изгледа.


person Doug Smith    schedule 31.03.2015    source източник
comment
възможен дубликат на UIView рамка, граници и център   -  person Stuart    schedule 31.03.2015


Отговори (1)


Да, продължете и задайте произхода на началния кадър на каквото и да е, тъй като последващото задаване на центъра така или иначе ефективно ще премести този произход. Не е необичайно да се инициализират изгледи с рамка от CGRectZero, когато ще бъдат напълно конфигурирани по-късно.

frame всъщност е просто изчислено свойство, базирано на center и bounds на изгледа, така че и трите са вътрешно свързани, когато става въпрос за оформление на изгледа. Справочник за клас UIView има какво да каже за това:

Геометрията на изгледа се определя от неговите свойства frame, bounds и center. frame дефинира произхода и размерите на изгледа в координатната система на неговия суперизглед и обикновено се използва по време на оформлението за регулиране на размера или позицията на изгледа. Свойството center може да се използва за регулиране на позицията на изгледа, без да се променя неговия размер. Границите определят вътрешните размери на изгледа, така както ги вижда, и се използват почти изключително в потребителски код за чертане. Частта с размера на правоъгълниците frame и границите са свързани заедно, така че промяната на размера на всеки правоъгълник актуализира размера и на двата.

person Stuart    schedule 31.03.2015