【发布时间】:2014-04-30 15:48:13
【问题描述】:
我有一个简单的样式表,有多个部分。
症状:当第一次加载表格时,每个单元格都有它的分隔符,除了每个部分中的最后一个单元格(即标题“之前”)。但是,当滚动时,在某些单元格上会出现分隔符。此外,如果选择了一个单元格,然后取消选择,则会出现分隔符。
打印视图层次结构显示,在干净启动时,每个部分中最后一个单元格的分隔视图是隐藏的,所以我认为这是正常行为:
<_UITableViewCellSeparatorView: 0x145b1990;
frame = (0 47.5; 320 0.5);
hidden = YES;
layer = <CALayer: 0x145b2950>>
有时滚动;并通过选择单元格;这个隐藏的属性被移除了,所以分隔符出现了。
第一个假设是我做错了什么;但这也发生在最基本的 hello world 应用程序中:
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView reloadData];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 4;
}
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
return 2;
}
- (NSString *)tableView:(UITableView *)tableView
titleForHeaderInSection:(NSInteger)section {
return @"test";
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *reuseIdentifier = @"TestCell";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:reuseIdentifier];
return cell;
}
屏幕(左:开始后;右:选择单元格后):
这是 Apple 方面的错误,还是我遗漏了什么?此外,例如,在 iOS 联系人应用程序中,分隔符永远不会隐藏在部分标题上方...
**更新:**
能够在股票音乐应用程序中重现此内容:例如歌曲标签,没有spearator。选择然后取消选择任何部分的第一个单元格;出现分隔符。
额外信息:iOS 7.1
【问题讨论】:
-
你是如何隐藏分隔符的?
-
我没有;表格显示时,分隔符隐藏在每个部分的最后一个单元格中。
-
嗯,我当然没有见过这种行为。您可以向我们展示一个示例项目来证明这一点吗?放在 GitHub 或 Dropbox 中?
-
我刚刚发现,我可以在股票音乐应用程序中重现这个。歌曲标签,我滚动到一个部分标题(例如字母 E)。节标题上方没有分隔符。我长按 E 部分中的第一个单元格足够长的时间以突出显示,然后滑下以取消选择。分隔符出现在 E 部分上方。iOS 7.1
-
啊,我明白你的意思了。这可能是苹果的错误。然后尝试将其登录到雷达中。
标签: ios objective-c uitableview uikit