gpt4 book ai didi

iphone - 黑色半透明导航栏/UITableView/内容插入/滚动位置问题

转载 作者:行者123 更新时间:2023-12-03 21:10:39 25 4
gpt4 key购买 nike

我正在实现一个 UITableView,它具有右侧尺寸的索引以及节标题。我本质上是在实现一个股票 NSFetchedResultsController,如苹果文档中所述。 UITableView 包含在带有黑色半透明导航栏的 UINavigationController 中。我将顶部内容和滚动条插图设置为 44,以补偿表格的导航栏重叠。即使设置了插图,我在黑色半透明导航栏中使用 UITableView 时也遇到了一些问题,我认为这些问题是相关的。

当我触摸索引列中的某个项目以将我带到该部分时,部分标题“悬挂”在正确的位置(在导航栏正下方对接),但第一个单元格似乎向上移动了一个。我认为表格不知道导航栏重叠,因此它会将第一个单元格定位在标题位于窗口框架顶部但标题下方的位置(如果有意义的话)。这很难解释,所以我附上一张屏幕截图来帮助说明。隐藏的第一个“Billy”应该位于节标题“B”下方齐平的第二个 Billy 的位置。

(哎呀,菜鸟太大了,无法发布图片。http://dontgoplastic.com/temp/uitableview.png)

第二个问题与同一个表有关,但与 selectRowAtIndexPath:animated:scrollPosition: 有关。如果我尝试使用“UITableViewScrollPositionNone”作为“scrollPosition”并将indexPath设置为当前可见屏幕下方的内容,它会将表格向下移动(如预期),但短于我假设的44像素。同样,我认为表格认为单元格在 View 中,但没有考虑插图。

希望我只是忽略了一个简单的属性。

感谢您的宝贵时间

最佳答案

我仍然不是 100% 出了问题,但我可以通过子类化 UITableView 并编辑 setContentOffset:animated: 来纠正它,如下所示:

- (void)setContentOffset:(CGPoint)contentOffset 动画:(BOOL)动画 {
CGPoint newOffset = CGPointMake(contentOffset.x, contentOffset.y - 44);
[super setContentOffset:newOffsetAnimated:animated];
}

希望这有助于阐明我的问题或帮助其他人找到可能的解决方案。

谢谢。

关于iphone - 黑色半透明导航栏/UITableView/内容插入/滚动位置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3498445/

25 4 0