2014-06-24 14 views
9

Chciałbym użyć Pager Przesuwanie TabStrip w moim projekcie. Pager Sliding Tapstrip jest tam dla Androida. Czy możemy tak zdefiniować? Zrobiłem jeden widok przewijania, dodałem do niego widoki na podglądy dla tabel i wziąłem jedno uivew, dodano przyciski jako subviews i dodałem uilabel jako podgląd dla tabstrip. Podczas korzystania z przewijania oznacza przeciąganie przewijania, tabsrip musi zostać przeniesiony. Byłem przykuty do tej koncepcji i nie mam żadnego pomysłu na rozwiązanie tego problemu. Jak mogę uzyskać tę koncepcję? Proszę, daj mi jakiś pomysł.Pager Przesuwanie TabStrip w ios

Odpowiedz

3

Nie możesz użyć do tego UIPageControl?

Od przykład Apple:

https://developer.apple.com/library/ios/samplecode/PageControl/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007795

I mieć zwyczaj UIPageControl, podobnie jak to https://github.com/Spaceman-Labs/SMPageControl.

+0

Używam również kontroli strony, ale mi to nie pomaga. Nie mogę znaleźć żadnej metody Kiedy przeciągam widok przewijania. Jeśli znajdę tę metodę, którą mogę zrobić. UIScrolviewDelegate (- (void) scrollViewWillBeginDragging: (UIScrollView *) scrollView;, - (void) scrollViewDidEndDragging: (UIScrollView *) scrollView willDecelerate: (BOOL) decelerate;) metody są dostępne, ale te nie są powiązane z moim pytaniem. Chcę taką metodę - (void) scrollViewMoveDragging: (UIScrollView *) scrollView, który nie jest uiscrollviewdelegate metoda –

1

Możesz spróbować UIPageViewController zarządzać kartami.

Nie jestem pewien, ile masz zakładek. Jeśli masz wiele kart i dodasz wszystkie tabele do scrollView w czasie początkowym, wydajność i wykorzystanie pamięci będą naprawdę złe.

Więc lepiej użyć kontrolera i widoków dla swoich kart. Jeśli używasz UIScrollView i zarządzasz nimi samodzielnie, możesz obliczyć bieżącą stronę zgodnie z contentOffset i załadować bieżącą stronę, poprzednią stronę i następną stronę. Ponieważ trzy strony wystarczą, by pokryć to, co zobaczy użytkownik. Jednak lepszym rozwiązaniem jest użycie UIPageViewController, zajmie się contentOffset i paginacji, co musisz zrobić, to po prostu dostarczyć poprzedni kontroler i następny kontroler zgodnie z bieżącym kontrolerem. Następnie zaktualizuj widok karty zgodnie z bieżącym kontrolerem.

EDIT:

BTW, jeśli przez „paska kart musi zostać przeniesiony” znaczy po przeciągnięciu Scrollview Twój Pasek kart porusza się jak dobrze, że to dlatego, że dodany Pasek kart do Scrollview. To, co musisz zrobić, to dodać go do widoku głównego, a scrollView i tabulator powinny być rodzeństwem, a nie rodzicem i dzieckiem.

1

Pracuję nad aplikacją, która wymaga tych samych funkcji, o które prosiłeś. Używam SHViewPageController. Możesz go znaleźć z poniższego linku.

https://www.cocoacontrols.com/controls/shviewpagerexample

Mam nadzieję, że to pomoże. Dzięki.

+0

Jest w porządku, ale kiedy przeciągam lub przesuwać stronę znika, a inna strona pojawia się w tym samym czasie i czerwony wskaźnik również to samo. Moim wymaganiem jest, gdy przeciągam dowolną stronę, nie ma potrzeby znikania i pojawiania się innej strony.To musi wyglądać jak poruszanie się jak scrollview i czerwony wskaźnik również. –

+0

Możesz utworzyć UIView dla różnych ekranów i po prostu dodać do UIScrollview. Twoja logika będzie się różnić w każdej niestandardowej klasie widoku. –