Как переместить UILabel, используя левую или правую сторону? - PullRequest
1 голос
/ 10 января 2012

Я новичок в XCode / iOS и пытаюсь выяснить, как переместить метку на основе левой (или правой) стороны, а не центра.

Все, что я могу найти, это что-токак это:

[myLabel setCenter:CGPointMake(x,y)];

Я также видел этот вариант:

myLabel.center=CGPointMake(x,y);

Мой вопрос состоит из двух частей:

  1. Как сделатьчто-то похожее, но без использования центра меток?

  2. Является ли ".center" свойством объекта UILabel?Например, в MS / VB / C # / etc.объекты имеют «.left, .right, .top, .bottom» для позиционирования - есть ли что-то похожее в iOS / Objective-C?

Ответы [ 3 ]

3 голосов
/ 10 января 2012

center является собственностью UIView, и нет, нет эквивалента left, right или чего-либо еще.Вы должны сделать расчет вручную: левая сторона метки label.frame.origin.x, а ее правая сторона label.frame.origin.x + label.frame.size.width.Если вы хотите переместить метку так, чтобы она была выровнена по правому краю с определенной координатой, то вы можете сделать что-то вроде этого:

label.frame = CGRectMake(100 - label.frame.size.width, label.frame.origin.y, label.frame.size.width, label.frame.size.height);
0 голосов
/ 10 января 2012

Вы можете использовать center или frame, чтобы отрегулировать положение этикетки.Это свойства UIView.

frame, возвращающие CGRect.CGRect состоит из CGPoint (оригинал) и CGSize (размер).Начало координат определяет левую и верхнюю координаты для вида.

CGRect frame = label.frame;
label.origin.x = desiredLeft;
label.frame = frame;

или

CGRect frame = label.frame;
label.origin.x = desiredRight-label.size.width;
label.frame = frame;
0 голосов
/ 10 января 2012

Вам нужно выполнить расчет вручную, чтобы найти координаты X и Y для использования в следующем коде.

label.frame = CGRectMake(
label.frame.origin.x, label.frame.origin.y, 
label.frame.size.width, labelSize.height);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...