2014-06-24 9 views
9

Ich möchte Pager Sliding TabStrip in meinem Projekt verwenden. Pager Sliding Tapstrip ist da für Android. Können wir das so definieren? Ich habe eine Scroll-Ansicht genommen, Subviews für Tabellen hinzugefügt und eine Uiw, Schaltflächen als Subviews hinzugefügt und Uilabel als Subview für Tabstrip hinzugefügt. Während der scrollview das Ziehen der scrollview bedeutet, muss der tabsrip verschoben werden. Ich habe mich an dieses Konzept gehalten und ich bekomme keine Idee, dieses Problem zu lösen. Wie bekomme ich dieses Konzept? Bitte geben Sie mir irgendeine Idee.Pager Sliding TabStrip in ios

Antwort

3

Können Sie UIPageControl dafür nicht verwenden?

von Apple Beispiel:

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

Und eine benutzerdefinierte UIPageControl haben, wie diese https://github.com/Spaceman-Labs/SMPageControl.

+0

Ich habe auch Seitensteuerung verwendet, aber es ist mir nicht geholfen. Ich finde keine Methode, wenn ich den Scrollview ziehe. Wenn ich diese Methode finde, kann ich es tun. Das UIScrolviewDelegate (- (void) scrollViewWillBeginDragging: (UIScrollView *) scrollView;, - (void) scrollViewDidEndDragging: (UIScrollView *) scrollView wirdDecelerate: (BOOL) verlangsamen;) Methoden gibt es aber diese sind nicht verwandt meine Frage. Ich möchte wie diese Methode - (void) scrollViewMoveDragging: (UIScrollView *) scrollView die nicht uiscrollviewdelegate Methode ist –

1

Sie können UIPageViewController versuchen, Ihre Tabs zu verwalten.

Ich bin mir nicht sicher, wie viele Registerkarten Sie haben. Wenn Sie viele Registerkarten haben und Sie alle Tabellen zu Beginn in scrollView einfügen, wäre die Leistung und Speicherauslastung sehr schlecht.

Sie sollten Controller und Ansichten für Ihre Tabs besser wiederverwenden. Wenn Sie UIScrollView verwenden und sie selbst verwalten, können Sie die aktuelle Seite gemäß der contentOffset berechnen und die aktuelle Seite, vorherige Seite und nächste Seite laden. Weil drei Seiten ausreichen, um zu zeigen, was der Benutzer sieht. Allerdings ist die bessere Lösung UIPageViewController, es wird mit contentOffset und Paginierung befassen, was Sie tun müssen, ist nur vorherige Controller und nächsten Controller nach aktuellen Controller bereitzustellen. Aktualisieren Sie dann die Registerkartenansicht entsprechend dem aktuellen Controller.

EDIT:

BTW, wenn durch „die Tabstrip bewegt werden muss“ Sie meinen, wenn Sie die Scroll ziehen, bewegt sich Ihre Tabstrip als gut, das ist, weil Sie Ihre Tabstrip auf die Scrollview hinzugefügt. Sie müssen es zur Stammansicht hinzufügen, und die Bildlaufleiste und das Tabstrip sollten Geschwister sein, nicht Eltern und Kind.

1

Ich entwickle eine Anwendung, die die gleichen Funktionen benötigt wie von Ihnen gefragt. Ich verwende SHViewPageController. Sie können es über folgenden Link finden.

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

Ich hoffe, es wird Ihnen helfen. Vielen Dank.

+0

Es ist in Ordnung, aber wenn ich ziehe oder wische die Seite verschwindet und eine andere Seite erscheint zur gleichen Zeit und rote Anzeige auch die gleiche Sache. Meine Anforderung ist, wenn ich irgendeine Seite ziehe, muss ich nicht verschwinden und eine andere Seite erscheinen.Es muss so aussehen, als würde man sich wie scrollview bewegen und auch für die rote Anzeige. –

+0

Sie können UIView für verschiedene Bildschirme erstellen und einfach in UIScrollview hinzufügen. Ihre Logik wird in jeder benutzerdefinierten Ansichtsklasse unterschiedlich sein. –