2011-09-14 14 views
5

Mam problem w moim projekcie aplikacji. Chcę ustawić pionową linię środkową mojego UITextView. Proszę mi pomóc, jak ustawić pionowe wyrównanie uitextview z budowniczego interfejsu.jak ustawić pionowe wyrównanie uitextview z konstruktora interfejsów

+0

co rozumiesz przez ustawienie w pionie. Czy wiesz, że tekst w polu tekstowym powinien znajdować się w środku. – Gypsa

+0

Chcę pokazać mój tekst w środku widoku tekstowego –

+0

A także jest dopełnienie w uitextview, chcę go usunąć –

Odpowiedz

7

Zrobiliśmy to, obserwując zmiany we właściwości contentSize, a następnie ustawiając contentOffset.

- (void)viewDidLoad{ 
    [super viewDidLoad]; 
    [myTextView addObserver:self forKeyPath:@"contentSize" options:(NSKeyValueObservingOptionNew) context:nil]; 
} 

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 
    UITextView *myView = object; 

    CGFloat offSet = ([myView bounds].size.height - [myView contentSize].height * [myView zoomScale])/2.0; 
    offSet = offSet < 0.0 ? 0.0 : offSet; 
    [myView setContentOffset:CGPointMake(0, -offSet) animated:NO]; 
} 
+1

Działa to dobrze na iOS 6, ale nie działa na iOS 5. UITextView wydaje się zachowywać inaczej. :( – Daren

+0

działa dobrze na ios8, ale także musi usunąć obserwatora po wyrównaniu jest zrobione Dodaj tę linię jako ostatnią linię metody 'observeValueForKeyPath': [tv removeObserver: self forKeyPath: @" contentSize "];' –

-1
*yourtextviewname*.textAlignment=UITextAlignmentCenter; 

Możesz to zrobić za pomocą budowniczego interfejsu. Otwórz atrybuty pola tekstowego i ustaw tekst Wyrównaj do środka.

+2

Przepraszam, że nie jest wredny, używam UITextView i chcę ustawić wyrównanie pionowe np. Górny, środkowy, Dolny. Mam nadzieję, że to ma sens. –

Powiązane problemy