Tôi có một UINavigationController
có thể hiển thị dữ liệu dưới dạng UICollectionView
hoặc trong UITableView
. iOS 7 tự động điều chỉnh chế độ xem cuộn cuộn cho UIScrollView
đầu tiên được thiết lập trong cấu trúc phân cấp chế độ xem.Chỉ báo cuộn UITableView trong UINavigationBar sau khi sửa đổi contentEdgeInset
Vì vậy, UICollectionView
là ok nhưng tôi phải đặt contentEdgeInset
cho số UITableView
. Sau khi dòng này
self.tableView.contentInset = UIEdgeInsetsMake(44.0f, 0.0f, 0.0f, 0.0f);
nội dung trong UITableView
được hiển thị tốt, nhưng chỉ số cuộn không dừng lại ở UINavigationBar
, nhưng vẫn tiếp tục dưới nó.
Làm cách nào để giải quyết điều này và dừng chỉ báo cuộn khi bắt đầu UINavigationBar
?
Hoàn hảo! Nhưng '[self.topLayoutGuide length]' không hoạt động đối với tôi ... return 0. Tại sao? – Fry
Nếu bạn đang gọi nó trong -viewDidLoad thì nó có thể trở về số không. Điều tốt nhất để làm sẽ là kiểm tra nó trong -viewDidLayoutSubviews và đặt insets của bạn ở đó. –
bạn cũng có thể muốn đặt nội dung insets cũng như trong viewWillLayoutSubviews chính nó như sau: 'self.tableView.contentInset = UIEdgeInsetsMake (0.0f, 0.0f, 49.0f, 0.0f);' – Sourabh