Заставьте UITableViewCell сохранять выравнивание объектов по правому краю при изменении ориентации - PullRequest
3 голосов
/ 29 марта 2011

У меня есть UITableViewCell.Для textLabel.text установлено некоторое значение.К подпредставлению ячейки я добавляю UILabel, UIButton или UITextField (только один из них на ячейку).Я добавляю эти виды, используя CGRectMake, что означает, что мне нужно указать позицию X.

Но когда я меняю ориентацию iPad, UITableViewCell растягивается, и поэтому UILabel, UIButton или UITextField больше не выровнены по правому краю,Это на несколько пикселей влево, что делает его уродливым.

Как сделать так, чтобы объекты с правой стороны оставались выровненными по правому краю, даже если ориентация меняется?

(Если вы зайдете в «Настройки» iPad - посмотрите настройки в правом представлении - любые ориентации изменятся, и они останутся приклеенными к правому краю UITableViewCell. Это эффект, который я здесь ищу.)

Ответы [ 2 ]

4 голосов
/ 30 марта 2011

ОК, разобрался!Вы можете просто установить свойство accessoryView UITableViewCell для объекта управления, и оно просто работает!

cell.accessoryView = the_control

Нет необходимости возиться с чем-либо еще.Я узнал об этом, прочитав e Руководство по программированию табличного представления для iOS из iOS Developer Library , что я должен был сделать в первую очередь: -)

1 голос
/ 29 марта 2011

Вы должны установить свойство autoresizingMask для склеиваемого вида так, чтобы оно сохраняло фиксированное расстояние от правого края. В IB это «укажи и щелкни», в коде это делается с помощью

 myview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...