6 iphone objective-c uitableview
我有一个默认为空白的tableview.用户可以向其添加单元格.
我想要在没有单元格时清除分隔线,在有单元格时清晰.
我正在使用此代码:
if ([[self.fetchedResultsController fetchedObjects] count] == 0)
{
self.routineTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.routineTableView.separatorColor = [UIColor clearColor];
}
else
{
self.routineTableView.separatorColor = [UIColor grayColor];
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我使用空白表启动应用程序时,如果我添加单元格,那么在我重新启动应用程序之前,灰色线条不存在.但是如果我从那里的单元格开始,然后删除它们,然后重新添加它们,就行了.有什么建议?
Vin*_*rci 13
也许你错过了这个?
...
else
{
self.routineTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; // or you have the previous 'None' style...
self.routineTableView.separatorColor = [UIColor grayColor];
}
Run Code Online (Sandbox Code Playgroud)
编辑:你需要这个但不仅如此...根据Apple文档:
此属性的值是
UITableViewCell
类引用类引用中描述的分隔符样式常量之一.UITableView
使用此属性在委托中返回的单元格上设置分隔符样式tableView:cellForRowAtIndexPath:
.
这意味着对于已经加载的单元格,样式不会改变.只需滚动表格以强制细胞重绘就应该使分隔符出现...
然后你必须:
在插入单元格之前设置它
要么
tableView
添加第一个单元格时重新加载这对于一个不容易做的事情NSFetchedResultsController
,你应该调查它的代表解决方案...或改变方向,就像隐藏tableView
直到你得到一个结果...
编辑2:你也可以简单地添加:
[self.tableView reloadData];
Run Code Online (Sandbox Code Playgroud)
但这是一个肮脏的解决方法,只会重新加载完整的tableView,失去了NSFetchedResultsController
...的大部分好处...
归档时间: |
|
查看次数: |
29309 次 |
最近记录: |