通过向左滑动编辑iOS表格行时,节目标题视图位置也会向左移动。有没有办法在编辑表行时保持节头视图的位置?
答案 0 :(得分:1)
默认情况下(在主 - 细节应用程序上),部分标题不会移动,可以通过按下编辑按钮向左滑动单元格或进入编辑状态。
要看到这一点,请为Master-Detail创建一个新的Xcode项目。快速给出部分的方法:
将numberOfSections
更改为return 3
将numberOfRowsInSection
更改为self.objects.count / 3
更改titleForHeaderInSection:
以返回[NSString stringWithFormat:@"Section %li", (long)section];
将插入新对象的最后一行更改为[self.tableView reloadData]; //commenting: [self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
您可以在dropbox.com/sh/53t52r9lp5defvl/AAD4gRnTOrLrkEIeTJoIUvK9a?dl=0看到此结果。由于这是默认行为,因此必须使其他内容导致标题滑动。
答案 1 :(得分:0)
你可以尝试这个技巧,每个部分都有行之前有空的部分。因此,只需隐藏当前行节标题,但显示前节标题。因此,当您操作当前行时,前一节不会受到影响。
答案 2 :(得分:0)
问题是我使用UITableViewCell用于viewForHeaderInSection而不是UITableViewHeaderFooterView。使用UITableViewHeaderFooterView可以解决此问题。非常感谢@MichaelSand!
答案 3 :(得分:-1)
在 SWIFT2.0 :
中func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView : UIView = UIView(frame: CGRectMake(0, 0, 704, 30)) //write frames as your requirement
headerView.backgroundColor = UIColor(red: 61/255, green: 133/255, blue: 167/255, alpha: 1)
let headerLabel: UILabel = UILabel()
headerLabel.frame = CGRectMake(0, 0,704, 30)
headerLabel.backgroundColor = UIColor.clearColor()
headerLabel.textAlignment = NSTextAlignment.Center
headerLabel.font = UIFont.boldSystemFontOfSize(17)
headerLabel.textColor = UIColor.whiteColor()
headerLabel.text = "Section Header"
headerView.addSubview(headerLabel)
return headerView
}