2012-01-03 32 views
6

Tôi đang sử dụng XCode 4 và tạo bảng phân cảnh ứng dụng tôi đang tạo, tuy nhiên tôi không thể sửa đổi trực quan thanh công cụ UIToolbar.Chỉnh sửa trực quan thanh công cụ UITool từ bảng phân cảnh xcode

Tôi đang cố gắng sửa đổi thanh công cụ UIToolbar bên trong UITableViewController - tuy nhiên tôi phải đặt thanh UIToolbar ra khỏi hệ thống phân cấp chính xác để có thể sửa đổi nó một cách trực quan. Tôi đã thử đặt nó vào khu vực bộ điều khiển xem nhưng điều đó không làm cho nó hiển thị.

Tại một thời điểm tôi đã có thể làm cho nó xuất hiện bên dưới, vì nó là đối tượng riêng nhưng tôi không thể tạo lại nó.

Problem

Một khi tôi đã có thể làm cho nó trông như thế này Problem

Trả lời

21

UITableViewController của bạn nằm trong một số UINavigationController, đã có UIToolbar riêng của mình — bạn không cần phải kéo một hình ảnh mới vào phân cấp chế độ xem của mình. Trình tạo giao diện có thể mô phỏng thanh công cụ cho bạn trong "Chỉ số mô phỏng" trong bảng điều khiển thanh tra.

Khi thanh công cụ mô phỏng hiển thị, chỉ cần kéo UIBarButtonItem giây vào đó. Sử dụng một mục tùy chỉnh với chế độ xem tùy chỉnh nếu bạn cần bất kỳ điều gì phức tạp hơn nút hoặc miếng đệm.

Nếu bạn cần các mục trên thanh công cụ cần động, bạn có thể duy trì tham chiếu qua IBOutlet mà không nhất thiết phải có chúng trong chế độ xem của bạn. Sau đó, đặt thuộc tính toolbarItems của UITableViewController hoặc gọi -setToolbarItems:animated: khi chạy để hiển thị các mục thích hợp.

Xem Apple UINavigationController Class Reference: Displaying a Toolbar.

+0

Cảm ơn đã xảy ra sự cố, tôi không thể kéo các mục vào thanh công cụ mô phỏng trước đó, nhưng đó là do tôi duy trì phiên chạy xcode sau khi phát hiện thấy sự cố. Chỉ cần kéo các mục nút thanh vào thanh công cụ mô phỏng đã cho kết quả mong đợi. – 1dayitwillmake

+0

Mặc dù cùng một lúc, tôi muốn biết làm thế nào tôi đã có thể nhận được rằng thanh công cụ để hiển thị ở phía dưới là thực thể riêng của nó hai lần. – 1dayitwillmake

+1

Ồ, tôi cũng vậy; Tôi không có ý kiến. –

1

UITableViewControllers chỉ cho phép một đối tượng xem, trong đó tất nhiên là UITableView. UITableViews không hợp tác để xem xét và chúng thường đẩy mọi thứ vào chân trang hoặc tiêu đề. Một cái gì đó như thế này là không thể:

-TableController 
    -Table 
     -Subview 
     -Another subview 

UITableViewControllers được giảm xuống này:

-TableViewController 
    -Table 

Vì vậy, bạn sẽ cần phải sử dụng một UIViewController và tuyên bố một UITableView trong đó. Heres Hierarchy bạn nên sử dụng sau đó:

- ViewController <Table's Delegate & Data Source> 
    - View   
     -Table 
     - Your UIToolbar 

Trong ViewController.h của bạn tuyên bố IBOutlet UITableView và kết nối nguồn dữ liệu và uỷ thác cho ViewController. Sau đó, chỉ cần thêm các triển khai UITableView vào tệp .m của bạn và bạn tốt để đi.

+0

Tôi không gặp sự cố khi chạy, chỉ đơn giản là trong bảng phân cảnh. Tôi không thể sửa đổi trực quan thanh công cụ, tuy nhiên khi chạy nó hiển thị chính xác. – 1dayitwillmake

+0

Vâng, hãy thử những gì tôi đã giải thích và có thể nó sẽ hoạt động. – JonasG

+0

Đó là một ý tưởng thú vị, tuy nhiên tôi không cần phải làm điều đó. Tôi cũng có thể tự động hiển thị thanh công cụ để tự mình hiển thị. Vì vậy, tôi chắc chắn có một cách. – 1dayitwillmake

2

Để trả lời câu hỏi của bạn, trình chỉnh sửa hình ảnh đơn giản hóa việc thiết lập hầu hết các điều khiển, phân cấp chế độ xem và mẫu ủy quyền, nhưng vẫn còn tùy thuộc vào nhà phát triển để đảm bảo họ kiểm tra. Việc triển khai UITableViewController đưa ra các giả định và xác nhận nhất định về phân cấp khung nhìn mà Xcode không thực thi thông qua trình chỉnh sửa trực quan. Do hệ thống phân cấp khung nhìn mong muốn của bạn không được hỗ trợ, tôi phải giả định rằng hành vi của trình soạn thảo là không xác định hoặc không liên quan. Để giải quyết sự cố, hãy xem đề xuất của Maxner.

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