2014-06-24 16 views
9

Tôi muốn sử dụng Máy nhắn tin trượt TabStrip trong dự án của tôi. Pager Sliding Tapstrip có sẵn cho android. Chúng ta có thể định nghĩa như thế này không? Tôi đã thực hiện một chế độ xem cuộn, thêm các bản xem phụ vào nó cho các bảng và lấy một uivew, các nút được thêm làm các bản xem trước và thêm uilabel làm subview cho tabstrip. Trong khi sử dụng scrollview có nghĩa là kéo scrollview, các tabrip đã được di chuyển.Tôi đã bị mắc kẹt với khái niệm này và tôi không nhận được bất kỳ ý tưởng để giải quyết vấn đề này. Làm thế nào để tôi có được khái niệm này? Xin vui lòng cho tôi bất cứ ý tưởng nào.Máy nhắn tin trượt TabStrip trong ios

Trả lời

3

Bạn không thể sử dụng UIPageControl cho điều này?

Từ Apple dụ:

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

Và để có một phong tục UIPageControl, như https://github.com/Spaceman-Labs/SMPageControl này.

+0

Tôi cũng đã sử dụng kiểm soát trang nhưng điều đó không được giúp tôi. Tôi không thể tìm thấy bất kỳ phương pháp nào Khi tôi kéo scrolleview. Nếu tôi thấy phương pháp đó tôi có thể làm. Các UIScrolviewDelegate (- (void) scrollViewWillBeginDragging: (UIScrollView *) scrollView;, - (void) scrollViewDidEndDragging: (UIScrollView *) scrollView willDecelerate: (BOOL) giảm tốc;) phương pháp có nhưng những người không liên quan đến câu hỏi của tôi. Tôi muốn như phương pháp này - (void) scrollViewMoveDragging: (UIScrollView *) scrollView mà không phải là phương pháp uiscrollviewdelegate –

1

Bạn có thể thử UIPageViewController để quản lý các tab của mình.

Tôi không chắc chắn bạn có bao nhiêu tab. Nếu bạn có nhiều tab và bạn thêm tất cả các bảng vào scrollView ở thời gian đầu, hiệu suất và mức sử dụng bộ nhớ sẽ rất tệ.

Vì vậy, bạn nên sử dụng lại bộ điều khiển và chế độ xem cho các tab của mình. Nếu bạn sử dụng UIScrollView và quản lý chúng một mình, những gì bạn có thể làm là tính toán trang hiện tại theo contentOffset và tải trang hiện tại, trang trước và trang tiếp theo. Bởi vì ba trang là đủ để trang trải những gì người dùng sẽ thấy. Tuy nhiên giải pháp tốt hơn là sử dụng UIPageViewController, nó sẽ đối phó với contentOffset và phân trang, những gì bạn cần làm là chỉ cung cấp bộ điều khiển trước và bộ điều khiển tiếp theo theo bộ điều khiển hiện tại. Sau đó cập nhật giao diện tab của bạn theo bộ điều khiển hiện tại.

EDIT:

BTW, nếu bằng cách "thanh tab đã được di chuyển" bạn có nghĩa là khi bạn kéo scrollview, tabstrip của bạn di chuyển là tốt, đó là vì bạn đã thêm tabstrip của bạn vào scrollview. Những gì bạn cần làm là thêm nó vào chế độ xem gốc và scrollView và thanh tabstrip phải là anh chị em chứ không phải cha mẹ và con.

1

Tôi đang phát triển ứng dụng yêu cầu các tính năng tương tự như được bạn yêu cầu. Tôi đang sử dụng SHViewPageController. Bạn có thể tìm thấy nó từ liên kết sau đây.

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

Tôi hy vọng nó sẽ giúp bạn. Cảm ơn.

+0

Nó tốt nhưng khi tôi kéo hoặc vuốt trang đang biến mất và một trang khác xuất hiện cùng một lúc và chỉ báo đỏ cũng giống nhau. Yêu cầu của tôi là, khi tôi kéo bất kỳ trang nào, không cần biến mất và xuất hiện một trang khác.Nó phải được trông giống như di chuyển như scrollview và cho chỉ số màu đỏ cũng có. –

+0

Bạn có thể tạo UIView cho các màn hình khác nhau và chỉ cần thêm vào UIScrollview. Logic của bạn sẽ khác nhau trong mỗi lớp xem tùy chỉnh. –

Các vấn đề liên quan