2015-04-16 1 views
0

Я делаю приложение object-C, и я хочу создать UIView с моими пользовательскими значениями, и есть проблема, которую я не могу исправить.Инициализировать UIView с помощью CGRectMake не изменять исходную точку [Objective-C]

Этот код работает отлично:

CGRect rect; 
rect.origin.x = 10; rect.origin.y = 20; 
rect.size.width = 30; rect.size.height = 40; 
NSLog(@" %@",NSStringFromCGRect(rect)); 

Но это один в NSLog возвращает точку начала координат в точку (0,0) и ширина и высота отлично:

UIView* aux = [[UIView alloc] initWithFrame:CGRectMake(10,20,30,40)]; 
NSLog(@" %@",NSStringFromCGRect(aux.bounds)); 

Есть ли какие-либо проблемы в инициализации UIView с CGRectMake?

Благодаря

ответ

0

Вы печатаете view.bounds, но не view.frame. Просто измените его:

NSLog(@" %@",NSStringFromCGRect(aux.frame)); 
0

происхождение границ из точки зрения всегда (0, 0). Вы должны изменить свой код документации

NSLog(@" %@",NSStringFromCGRect(aux.frame)); 

знакомства Apple, для объяснения here

0

Первое повторение на вопрос: рамка, рамки и центра, и ихние отношения.

Рамка Рамка представления (CGRect) представляет собой положение его прямоугольника в системе координат супервизора. По умолчанию он начинается в левом верхнем углу.

Оценки Границы обзора (CGRect) выражают прямоугольник представления в собственной системе координат.

Центр Центр - это CGPoint, выраженный в терминах системы координат супервизора, и определяет положение точной центральной точки зрения.

Вы должны использовать:

NSLog(@" %@",NSStringFromCGRect(aux.frame)); 
0

В границы из UIView представляет собой прямоугольник, выраженный как location (x,y) и size (width,height) относительно своей собственной системы координат (0,0).

рамка из UIView представляет собой прямоугольник, выраженный в виде location (x,y) и size (width,height) по отношению к надтаблице он содержится внутри.

Таким образом, вы должны использовать view.frame в методе журнала как-

NSLog(@" %@",NSStringFromCGRect(aux.frame)); 
Смежные вопросы