在“设置”应用等应用中,当UISplitViewContoller
折叠时,UITableView
单元格会显示标准“>”披露配件图标:
在旋转到横向时,如Plus尺寸的iPhone等设备上显示完整的UISplitViewController
,公开图标会消失:
最初配置单元时,可以简单地调用self.splitViewController.isCollapsed
来查找拆分视图控制器的当前状态。但是,当在该点之后发生转换时,我不确定接收该事件通知的最佳方式是什么。
我考虑过的最简单的解决方案是在视图控制器的self.tableView.reloadData()
方法中调用viewWillTransitionToSize
,但这似乎是一种非常“强力”的方法。
有没有人做过这种实施?你是怎么解决的?
答案 0 :(得分:0)
啊哈!我发现了怎么做! Apple iOS 8 sample code on size classes演示了如何操作。
我只在file_get_contents_curl("https://graph.facebook.com/v2.6/$pageFBID/feed?fields=full_picture,message,story,created_time,shares,likes.limit(1).summary(true),comments.limit(1).summary(true)&access_token=".$token);
数据源方法中设置UITableViewCell
个实例,当然,每个单元格的创建只调用一次。
Apple的示例代码在cellForRowAtIndexPath
委托方法中配置表格单元附件视图,并且当发生willDisplayCell
转换时,此方法似乎在每个可见单元格上自动调用。 :)
编辑:好的,经过进一步探索,结果证明它不是自动的。它是UISplitViewController
。
这是Apple Sample应用程序的代码。在视图控制器的NSNotification
中:
viewDidLoad
通知触发的方法:
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(ListTableViewController.showDetailTargetDidChange(_:)), name: NSNotification.Name.UIViewControllerShowDetailTargetDidChange, object: nil)
}