我UIViewController
在 a 中有两个 s UINavigationController
。最顶部已hidesBottomBarWhenPushed
设置为YES
。当我推 topmostUIViewController
时,它UITableView
被推到它应该在的位置上方大约 20 像素(注意顶部到被推视图控制器的单元格之间的单元格高度差异)。
与下面屏幕截图中的单元格位置进行比较:
此外,当我弹出 topmost 时UIViewController
,它UITableView
会被推到它应该在的位置下方约 20 像素(请注意 上方的额外深蓝色空间UITableView
)。
我已经尝试将我的-[UIViewController setHidesBottomBarWhenPushed:YES]
呼叫转移到-[UIViewController loadView]
、-[UIViewController viewWillAppear:]
和-[UIViewController viewDidAppear:]
。那些回调都太晚了,因为UIViewController
已经被推送了,所以UIToolbar
没有隐藏。
有没有办法避免这些差距?目前,我正在调用-[UINavigationController setToolbarHidden:YES animated:NO]
我最顶层UIViewController
和-[UIViewController viewDidAppear:]
最-[UINavigationController setToolbarHidden:NO animated:NO]
底层UIViewController
的-[UIViewController viewDidAppear:]
。这不太理想。