2011-06-21 31 views
8

Có cách nào để làm cho khu vực "nội dung" của ứng dụng iPhone nhận biết được thanh điều hướng lớn hơn không?iOS: Có thể tạo chiều cao UINavigationBar và "đẩy" các chế độ xem khác xuống màn hình không?

Tương tự như những câu hỏi này:

tôi đã quản lý để sử dụng các câu hỏi 1 mẫu mã để thêm một mục trên UINavigationBar và thay đổi chiều cao của nó, và đã thêm một chế độ xem phụ nơi tôi cần, nhưng tôi không thể thấy cách gây ra UITableView (hoặc thực sự là bất kỳ chế độ xem nội dung nào) để xem xét chiều cao của nó:

iPhone 4 Simulator Screenshot
(Những màu sắc là chỉ để làm cho các quan điểm khác nhau có thể phân biệt)

+1

+1 cho "(Màu sắc chỉ để làm cho các chế độ xem khác nhau có thể phân biệt được)" vì nếu không tôi sẽ bỏ phiếu để đóng :) <- joke –

Trả lời

8

Câu trả lời được chấp nhận cho câu hỏi đầu tiên đặt ra khung thanh nav trong -layoutSubviews, đó là bất cứ nơi nào từ "ewwwww" để hoàn toàn sai tùy thuộc vào các giả định được tạo bởi mã bố cục khác.

Thay vào đó, hãy ghi đè lên -sizeThatFits: để trả lại kích thước phù hợp hơn.

+0

Chúng tôi có một người chiến thắng! Tôi trả về kích thước yêu cầu từ sizeThatFits, và mọi thứ được thay đổi kích cỡ đúng cách. Cảm ơn! – Drarok

-2

tôi muốn đi về vấn đề này bằng cách điều chỉnh tableView.frame, vì vậy một cái gì đó như thế này:

CGRect navFrame = self.navigationController.navigationBar.frame; 

CGRect tableFrame = self.tableView.frame; 

tableFrame.size.height = tableFrame.size.height - navFrame.size.height; 
tableFrame.origin.y = navFrame.size.height; //move it down by the height covered by the navigation Bar 

self.tableView.frame = tableFrame; 

Bạn có thể làm điều này với quan điểm khác bạn cũng - ví dụ bằng cách đơn giản điều chỉnh khung.

Tôi chưa có XCode trên máy tính này, vì vậy tôi đã không kiểm tra mã - chỉ cần viết nó ra làm ví dụ, vì vậy hãy kiểm tra nó trước khi sử dụng!

+0

Điều này thực sự không phải là một cách tiếp cận khả thi ngay sau khi thậm chí còn có một số ít các quan điểm khác nhau. Tôi sẽ phải thực hiện điều này trên mọi ViewController! – Drarok

+0

-1. Chế độ xem của trình điều khiển điều hướng sẽ được sắp xếp theo định kỳ (ví dụ: về các thay đổi xoay); bố trí hacks như thế này thường sẽ xuất hiện để làm việc cho đến khi bạn làm một cái gì đó bất ngờ như xoay thiết bị hoặc đẩy/popping VC khác. Tôi đã cần phải làm điều này vào một dịp, nhưng thường có những cách đáng tin cậy hơn để đạt được điều này. –

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