iphone - Как отцентрировать динамический размер текста - PullRequest
0 голосов
/ 01 марта 2011

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

У кого-нибудь есть идеи?

Ответы [ 3 ]

2 голосов
/ 02 марта 2011

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

CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font];

С помощью этого установите рамку вашей метки как

yourLabel.frame = CGRectMake( yourX, yourY, expectedLabelSize.width , expectedLabelSize.height;

То же самое можно сделать с UIButton иUItextArea.Вы также можете использовать UITextField, но высота не будет регулироваться.

Также вы можете установить для свойства textalignment значение Center как yourLabel.textAlignment = UITextAlignmentCenter

Надеюсь, что это работает !!

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

Вы можете использовать высоту из свойства contentSize UITextView, чтобы установить свойство contentOffset UITextView таким образом, чтобы высота текста центрировалась по высоте фрейма текстового представления.Похожи на ширину.Текстовое представление не обязательно должно быть редактируемым, если вы просто хотите отобразить текст.

Вы также можете использовать UIWebView, содержащий соответствующий CSS для центрирования контента.

0 голосов
/ 01 марта 2011

Измените свойство setAutoresizingMask в соответствии с вашими потребностями

...