iOS 9-在UITableView单元格中动态设置边距

iOS 9-在UITableView单元格中动态设置边距,ios,uitableview,adaptive-layout,Ios,Uitableview,Adaptive Layout,iOS 9、Xcode 7、Swift 2.2 我有一个故事板,其中包含一个UIViewController,而UIViewController又包含一个UITableView UITableView使用约束固定到UIViewController视图的边缘 设计要求 当应用程序以全屏模式在iPad上使用时(即水平和垂直尺寸等级均为常规),tableview的边距需要根据tableview的可用宽度进行更改。实际上,在纵向时,边距应为100点,但在横向环境中为200点。tableview需要占据整

iOS 9、Xcode 7、Swift 2.2

我有一个故事板,其中包含一个UIViewController,而UIViewController又包含一个UITableView

UITableView使用约束固定到UIViewController视图的边缘

设计要求

当应用程序以全屏模式在iPad上使用时(即水平和垂直尺寸等级均为常规),tableview的边距需要根据tableview的可用宽度进行更改。实际上,在纵向时,边距应为100点,但在横向环境中为200点。tableview需要占据整个视图区域以获得可用性(例如,在视图中的任何位置滚动、点击手势)

当前方法

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath)
{
    let margins: UIEdgeInsets
    if (tableView.bounds.size.width < kWidthThreshold) {
        margins = UIEdgeInsetsMake(0, 100, 0, 100)
    } else {
        margins = UIEdgeInsetsMake(0, 200, 0, 200)
    }
    cell.separatorInset = margins
    cell.layoutMargins = margins
}
func tableView(tableView:UITableView,willDisplayCell:UITableViewCell,forRowAtIndexPath-indepath:nsindepath)
{
让页边距:UIEDGEINSET
if(tableView.bounds.size.width
问题

应用程序启动后,视图将正确显示。设备旋转会导致单元格显示设备方向的正确边距(或者更准确地说,视图宽度的变化)

但是,如果我滚动tableview,新出现的单元格将不尊重边距。他们的布局被破坏了,显然是随机的

问题

我应该做些什么来处理利润率的变化吗

在这个场景中,我应该在什么时候调用tableview上的reloadData