9

Tôi có một cửa sổ bật lên có bộ điều khiển chế độ xem nội dung UITableViewController. Chế độ xem bảng có một chế độ xem tiêu đề là UISearchBar.Thêm dấu cách phía trên thanh tìm kiếm khi UISearchDisplayController đang hoạt động

Hiện tại, trên iOS 6 mọi thứ có vẻ tốt khi UISearchDisplayController hoạt động. Tuy nhiên, trên iOS 7 sẽ có thêm không gian phía trên thanh tìm kiếm.

The extra space above the search bar on iOS 7

Vậy làm thế nào tôi có thể thoát khỏi không gian thêm này trên thanh tìm kiếm trên iOS 7?

Trả lời

25

Giải pháp là đặt thuộc tính edgesForExtendedLayout của UITableViewController thành UIRectEdgeNone.

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) { /// iOS 7 or above 
     self.edgesForExtendedLayout = UIRectEdgeNone; 
    } 
} 

Thuộc tính này có giá trị UIRectEdgeAllby default. Điều đó có nghĩa là tất cả các cạnh của khung nhìn sẽ được mở rộng để giữ thêm khoảng trống cho thanh trạng thái (chiều cao của không gian phía trên thanh tìm kiếm chính xác là 20px, cùng chiều cao của thanh trạng thái).

+0

Cảm ơn bạn! btw, tôi loại bỏ các điều kiện nếu vì nó đưa ra một cảnh báo rằng không có bộ chọn như vậy đã được thực hiện và nó hoạt động tốt. – user1938695

+1

Trong giao diện Builder bạn chỉ có thể vô hiệu hóa các thuộc tính điều khiển 'Dưới Top Bars' trong phần" Mở rộng Edges ". –

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