繁体   English   中英

在Interface Builder中创建的Table View Controller在iPhone X上的底部单元格被剪切和遮盖

[英]Table View Controllers created in Interface Builder have their bottom cells clipped and obscured on iPhone X

如果使用Interface Builder创建了Table View Controller,则在iPhone X上,默认情况下,最低的可见单元将被主屏幕指示器遮盖,并且该单元的角将被弯曲的屏幕遮挡,默认情况下-请参见下面的屏幕截图。

如果使用View Controller并插入Table View,然后手动进行设置,则可以将底部布局指南与Table View一起使用,以确保不会发生这种混淆和裁剪行为,即,通过不允许使用Table视图延伸到屏幕的弯曲部分。

我正在升级一些旧版应用程序,如果可能的话,我希望不必将现有的Table View Controller转换为View Controller。 如何使用Interface Builder创建的Table View Controller表现良好?

根据Apple文档,通过使用标准接口元素,这应该不是问题。

插入基本内容以防止剪切。 通常,内容应居中且对称插入,以使其在任何方向上看起来都很好,并且不会被角落或设备的传感器外壳夹住,也不会因访问主屏幕的指示器而被遮挡。 为了获得最佳结果,请使用系统提供的标准界面元素和“自动布局”来构造您的界面。 所有应用程序均应遵守UIKit定义的安全区域和布局边距,以确保根据设备和上下文进行适当的插入。

iPhone X屏幕快照

如果您automaticallyAdjustsScrollViewInsets启用了automaticallyAdjustsScrollViewInsets ,则当您滚动到底部时,表格视图将显示在起始位置。 我认为这就是Apple想要的,同时利用每个元素可以交互的全屏优势。
如果要使单元格永远不会在UITableViewController被遮盖或修剪。 我建议您使用普通样式表视图,将contentInset设置为将部分页脚悬停在home指示器下。 我试过了,它奏效,但看上去很丑。 像这样: 在此处输入图片说明

最后,我将表视图控制器转换为视图控制器,并向表视图添加了底部对齐约束

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM