2013-10-31 12 views
6

Utworzono widok przewijania z dużą ilością pól tekstowych. Dodałem zaktualizowany widok TPKeyBoardAvoidingScrollView i dodałem go do właściciela pliku widoku przewijania. Dodałem gniazdo w pliku .h, zsyntetyzowane w pliku .m i dodano linię [self.view addSubview:scrollObject];iOS: Widok przewijania działa tylko po wyświetleniu klawiatury

Problem polega na tym, że widok zaczyna się przewijać dopiero po wyświetleniu klawiatury. Nie przewija się po załadowaniu widoku.

Jakieś rozwiązanie tego?

Dodanie tych linii nie rozwiązuje mojego zapytania

scrollViewObj = [[UIScrollView alloc] init]; 
    self.automaticallyAdjustsScrollViewInsets = NO; 
    [scrollViewObj setScrollEnabled:YES]; 
    scrollViewObj.maximumZoomScale = 4.0; 
    scrollViewObj.minimumZoomScale = 0.75; 
    scrollViewObj.clipsToBounds = YES; 
+0

Trudno jest zrozumieć swoją sytuację bez dodatkowych informacji. Podaj więcej szczegółów. Co to jest "TPKeyBoardAvoidingScrollView"? –

+0

Rozwiązałem ten problem, dodając [textfield się stuprocentowo]; w viewDidAppear, aby wyświetlić klawiaturę zaraz po załadowaniu widoku. Nadal nie sądzę, że powinno być TPKeyBoardAvoidingScrollView. –

Odpowiedz

0

masz:

scrollViewObj.contentsize > scrollViewObj.frame.size.height ? 

także w jaki sposób dodanie tych wiele pól tekstowych w? (programowo/storyboard)?

+0

Użyłem xib. a contektoryzacja nie jest większa niż wzrost sławy. –

0

I ustalony ten problem przez dodanie następujących po zakończeniu viewDidLoad:

scrollViewObj.contentInset UIEdgeInsetsMake = (0, 0, self.view.bounds.size.height * 2, 0);

Kolejność parametrów to góra, lewo, dół, prawo. Eksperymentowanie wskazuje, że dolna krawędź musi być ustawiona na wartość większą niż wysokość zawartości. Pozostałe wstawki krawędzi działają najlepiej, gdy są ustawione na 0.

Powiązane problemy