2014-12-10 2 views
0

Есть ли способ изменить точку начала ввода UITextview, например UILabel?UITextView Alignment, как UILabel

Я хотел бы ввести начальную точку шрифтов из центра по UITextView, а не по умолчанию из левого верхнего угла.

Кто-нибудь помогает мне любезно?

Приветствия,

enter image description here

+0

Возможно влияние на точку ввода с использованием ограничений? – user1574429

+0

Игнорировать мой комментарий – Andy

ответ

0

Я решить эту проблему путем наблюдения contentsize из UITextView, когда есть какие-либо изменения в contentSize, обновите contentOffset.

Добавить наблюдателя следующим образом:

[textview addObserver:self forKeyPath:@"contentSize" options:(NSKeyValueObservingOptionNew) context:NULL]; 

Handle действия наблюдателя следующим образом:

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 
    UITextView *txtview = object; 
    CGFloat topoffset = ([txtview bounds].size.height - [txtview contentSize].height * [txtview zoomScale])/2.0; 
    topoffset = (topoffset < 0.0 ? 0.0 : topoffset); 
    txtview.contentOffset = (CGPoint){.x = 0, .y = -topoffset}; 
} 

Чтобы текст TextView по горизонтали в центре, выберите TextView из .xib класса и пойти в библиотеку и в этом наборе «Выравнивание» как центр.

+0

Спасибо большое за обмен кодами. Я попробую и расскажу вам, что будет дальше! Быстрый ответ от меня. – user1574429

Смежные вопросы