让应用程序有多个部分,"扩展"时每个部分有几行,"折叠"时没有.每个部分都有一个部分标题,正在使用子类UITableViewHeaderFooterView等重用它们.到目前为止一切都很好.
然后在iOS 11中:
我已经使用了可视化调试器,并确认它是我的部分标题浮动.标题下方的所有行都正确显示,其他标题显示正常.
为了恢复理智,我抛弃了标题的所有重用逻辑,并以编程方式编写它们.彼此彼此.iOS 11之前的所有工作仍然在iOS 11中浮动.浮动的部分似乎每次都会改变,所以就是这样.
有任何想法吗?
前言
我UITableViewCell在iOS 10上有一个工作的自定义解雇动画.它的实现方式如下:
UITableViewCell子视图的索引零处创建,定位和插入(在单元格下方contentView)contentView是动画帧失而定制视图的alpha是动画〜1.0contentView完全超出帧时,将调用本机UITableView方法deleteRows(at: [indexPath], with: .top).UITableViewCell折叠和自定义视图在折叠时隐藏在前一个视图后面UITableViewCell.下面是它工作的慢动画:
注意:tableView背景颜色清晰,允许自定义视图(蓝色)显示在其后面.每个单元具有containerView包含单元的所有内容的a.在containerView和contentView都有明确的背景颜色.一切都很好,花花公子.
问题
将我的应用迁移到iOS 11,此动画无法正常运行.下面是一个慢动画,它不再工作了.
如您所见,自定义视图在单元格解除时叠加在上一个单元格的顶部,而不会更改我的代码.
调查迄今为止
到目前为止,我已经确定a的解剖结构UITableView已经改变了:
UITableView
UITableViewWrapperView
cell
custom view
contentView
cell separator view
cell
cell
cell
UIView
UIImageView (scroll view indicator bottom)
UIImageView (scroll view indicator right)
Run Code Online (Sandbox Code Playgroud)
对此:( UITableViewWrapperView已被删除)
UITableView
cell …Run Code Online (Sandbox Code Playgroud)