Sắp xếp lại thứ tự điều khiển thanh tab trong StoryBoard


165

Trong ứng dụng iPhone của tôi, tôi có Bộ điều khiển Tab Bar với 4 mối quan hệ với 4 Bộ điều khiển xem bảng khác nhau. Có cách nào để sắp xếp lại thứ tự của mối quan hệ trong StoryBoard bằng đồ họa không? Tôi không thể tìm ra cách để làm điều này và tôi chắc chắn mình phải thiếu thứ gì đó!


Câu trả lời:


254

Trong 4.5 lưu bảng phân cảnh sau khi thêm Trình điều khiển, chuyển sang tệp khác và sau đó quay lại Bảng phân cảnh và thao tác kéo tab sẽ hoạt động trở lại.


45
Kéo tab! Ok tôi thậm chí không biết chúng ta có thể kéo các tab. Không trực quan lắm vì các tab không thể chọn ...
Pierre de LESPINAY

1
Nếu bạn cảm thấy mệt mỏi khi chọc vào UI Xcode bằng công tắc tab / câu thần chú đóng, chỉ cần nhìn vào câu trả lời của JannieT. Thật nhanh chóng và dễ dàng.
Sixto Saez

Không trực quan nhưng nó cũng hoạt động với tôi trong Xcode 7.
zeeple

Nếu bạn không thấy các mục để kéo, có thể là do bạn chưa đặt biểu tượng. Tôi thấy rằng nó không hiển thị cho đến khi tôi đặt biểu tượng!
Brian

1
tốt đẹp :) thậm chí không biết rằng nó có thể kéo được
Amr Angry

132

Bạn chỉ có thể sắp xếp lại thứ tự bằng cách kéo và thả các biểu tượng trong trình điều khiển thanh tab


4
Nếu bạn đang sử dụng các tab tùy chỉnh, bạn vẫn có thể kéo và thả để sắp xếp lại mặc dù Tab Bar Controllercảnh hiển thị thanh màu xám, mục thanh vẫn ở đó. Điều này đặc biệt không rõ ràng khi tất cả các mục thanh của bạn là các mục tùy chỉnh.
Gerald

Cách thẳng nhất & thuận tiện. Hoạt động trong Xcode 7.3.1. Swift 2.2
Mark Barrasso

Hoạt động trong Xcode 9 - mặc dù các biểu tượng là vô hình.
Cesare


15

Tôi đã không thể kéo và thả bằng XCode 4.6 (với bất kỳ cobination nào được đề cập). Tôi đã giải quyết nó khi mở cốt truyện trong chế độ " Mã nguồn ", định vị tabBarContoder và sắp xếp lại thẻ seque .


Tôi có một bộ điều khiển thanh tab được lồng trong bộ điều khiển xem tách và kết quả là các tab của bộ điều khiển thanh tab không hiển thị trong bảng phân cảnh. Chỉnh sửa mã nguồn bảng phân cảnh làm việc cho tôi. Cảm ơn!
Scott Gardner

14

Tôi biết OP đang sử dụng trình tạo giao diện Xcode và yêu cầu một cách đồ họa để làm điều này, nhưng đối với các nhà phát triển làm việc với Xamarin iOS Designer, đây là một cách giải quyết mà tôi sử dụng.

Mở tệp .storyboard trong trình soạn thảo văn bản hoặc sử dụng Xcode, nhấp chuột phải vào mục bảng phân cảnh trong Project Navigator và chọn Mở dưới dạng Mã nguồn. Trong bảng phân cảnh XML xác định vị trí <tabBarController ...>nút. Sau đó, tôi sắp xếp lại thứ tự của các phần trong <connections>phần:

<connections>
    <segue destination="274" kind="relationship" relationship="viewControllers" id="286"/>
    <segue id="943" destination="910" kind="relationship" relationship="viewControllers"/>
    <segue destination="147" kind="relationship" relationship="viewControllers" id="159"/>
</connections>

Tìm kiếm destination=giá trị thuộc tính trong XML để xác định bộ điều khiển khung nhìn mà phần tử segue đang trỏ tới.


1
Giải pháp tuyệt vời. Tôi đã có một StoryBoard khổng lồ và việc xóa và tạo lại các phân biệt sẽ mất một thời gian
YYamil

10

Chỉ cần kéo và thả các biểu tượng tab trong thanh tab.

tức là thanh tab chính thuộc về bộ điều khiển thanh tab.

HTH

:: EDIT :: Vì vậy, điều này dường như không hoạt động ... Tôi chắc chắn rằng nó đã từng.

Dù sao, cách dễ nhất tôi tìm thấy là xóa các tab và thêm chúng trở lại theo thứ tự bạn muốn chúng hiển thị.

Hi vọng điêu nay co ich.


LOL, vừa mới đi kiểm tra và tôi đã sai. Lấy làm tiếc. Đã làm điều này trước đây mặc dù. Một giây ...
Fogmeister

Vâng tôi nghĩ rằng tôi nhớ rằng kéo và thả đã hoạt động mặc dù tôi không chắc về điều đó! Có lẽ họ đã thay đổi một cái gì đó trong Xcode ..
BigLex

Tôi vừa thử nó và nó hoạt động tốt khi chỉ cần kéo các tab trong Xcode 4.5
ndelmar

@rdelmar bạn đã bắt đầu dự án của mình dưới dạng một ứng dụng thanh tab hay bạn đã thêm một trình điều khiển xem thanh tab vào một ứng dụng xem đơn?
BigLex

5
Kéo và thả không hoạt động, nhưng sẽ trở nên cứng đầu nếu bạn đã làm bất cứ điều gì trong bảng phân cảnh trước khi cố gắng kéo và thả các tab. Để sửa nó, chọn bất kỳ tệp nào khác trong Xcode và sau đó quay lại bảng phân cảnh của bạn. Kéo và thả sẽ hoạt động trở lại. Không cần phải đóng Xcode hoặc thêm lại bộ điều khiển của bạn.
memmons

9

Như đã lưu ý trong các nhận xét, kéo và thả hiện không hoạt động (Xcode 4.5) sau khi thêm bộ điều khiển điều hướng. Tuy nhiên, khởi động lại Xcode sau khi thêm bộ điều khiển dường như để kéo và thả hoạt động trở lại.


8

XCODE 10.1: Thu phóng bảng câu chuyện. Đơn giản chỉ cần kéo các mục tab. (Không thay đổi không khác)


2
Làm thế nào bạn nghĩ để thử điều này? 😃 Rực rỡ! 👏
GarySabo

7

Nếu bạn mở bảng phân cảnh dưới dạng 'chế độ xem mã nguồn' và sau đó đóng nó, hãy mở nó dưới dạng xem IB có vẻ như đã sửa lỗi ..


Điều này làm việc cho tôi (Xcode 8.1), cuối cùng tôi đã có thể kéo để sắp xếp lại sau khi mở bảng phân cảnh trong chế độ xem mã nguồn.
Undrea

7

Để thêm vào phương pháp kéo và thả được cung cấp bởi mọi người. Tôi đăng bài này như một câu trả lời để tôi có thể đưa vào hình ảnh. Đã thử trên Xcode 7.3

Nếu bạn đang sử dụng tùy chỉnh tab bar item, bạn vẫn có thể kéo và thả để sắp xếp lại mặc dù Tab Bar Controllercảnh hiển thị thanh màu xám, mục thanh vẫn ở đó. Điều này đặc biệt không rõ ràng khi tất cả các mục thanh của bạn là các mục tùy chỉnh

nhập mô tả hình ảnh ở đây sự miêu tả


4

Tôi đang sử dụng XCode 5.1 để phát triển iOS 7.1 và tôi thấy cách tiếp cận sau đây hoạt động để sắp xếp lại các tab trong Trình điều khiển Tab Bar.

Để sắp xếp lại các tab trong Bộ điều khiển thanh tab, hãy xóa các khoảng cách từ Bộ điều khiển thanh tab vào bộ điều khiển xem phụ của bạn. Sau đó vẽ lại các khoảng cách theo thứ tự bạn muốn các tab. Để "vẽ lại", ý tôi là bạn điều khiển kéo từ Bộ điều khiển thanh Tab sang bộ điều khiển chế độ xem phụ và chọn Phân đoạn mối quan hệ (ở cuối danh sách) => xem bộ điều khiển.


3
thật. Một cách khác để làm điều đó là chỉnh sửa .storyboard thành "Mã nguồn", tìm các phân biệt (chúng là thẻ <segue>) và sắp xếp lại thứ tự của chúng.
voghDev

3

Bạn có thể đảm bảo rằng tùy chọn Dock điều khiển Tab trong bảng phân cảnh chính của bạn được đặt thành "Phản hồi đầu tiên", điều đó đã giải quyết nó cho tôi!


Tôi đã thử một vài trong số những ý tưởng này, vì bây giờ tôi đang gặp vấn đề này cho dù hiện tại tôi đang đưa ra dự án nào (mới hay cũ). Tôi không thể hiểu KayKay nghĩa là gì bởi "tùy chọn Dock điều khiển Tab". Có ai có ý kiến ​​gì không?
Vòng nguyệt quế

3

Tôi gặp vấn đề tương tự sau khi thêm Bộ điều khiển Điều hướng.

Khắc phục: đóng bảng phân cảnh (Ctrl + Cmd + W) và thực hiện thư mục xây dựng sạch (Tùy chọn + Cmd + Shift + K) và dọn dẹp thông thường (Cmd + Shift + K). Mở lại bảng phân cảnh và bạn sẽ có thể kéo các mục lại.


1

Điều tương tự là trong xCode 4.6. Ban đầu tôi đang theo hướng dẫn về bảng phân cảnh bắt đầu trong ios Tại thời điểm xoay vòng mục trên TabBarControll, tôi không thể thay đổi thứ tự. Tôi đã cố gắng cứu nó - không hiệu quả; tuy nhiên, một khi tôi đã đóng XCode và mở lại - nó DID LÀM VIỆC.


1

Điều khiển + kéo mục trong TabBarControll trong bảng phân cảnh và sắp xếp lại đến vị trí mong muốn.


tôi nghĩ đó là Tùy chọn + kéo
GGirotto

0

Tôi cũng đang theo hướng dẫn của raywenderlich cho các bảng phân cảnh và nhận ra rằng sau khi thêm trình điều khiển tab, tôi không thể sắp xếp lại các tab bằng cách kéo nó. Vâng, rõ ràng nó chỉ là một số lỗi trong xcode. Vì vậy, chỉ cần thoát xcode, khởi động lại nó và lần này, bạn sẽ có thể kéo các tab.


0

Đối với tôi, kéo không hoạt động trong XCode 7.3.1. Khởi động lại XCode không giúp được gì. Và không có giải pháp nào được đề cập ở trên làm việc cho tôi.

Điều gì đã giúp tôi: Tôi đã xóa mối quan hệ với mục thứ hai và kéo ctrl từ mục đó vào Trình điều khiển Tab Tab và tạo mối quan hệ khác. Nó đã tự động ở vị trí thứ hai bây giờ.


0

Loại bỏ tất cả các trình điều khiển khung nhìn với thanh tab. Bạn cần bộ điều khiển khung nhìn đầu tiên, sau đó một bộ điều khiển khung nhìn khác kết nối với thanh tab.

Không cần khởi động lại xcode & không yêu cầu thay đổi tệp mã nguồn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.