我调试表视图,并在我的-viewDidLoad
方法我有:UITableView的内容偏移-64pt问题
<UITableView: 0x7b394600; frame = (0 0; 1024 768); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7983d2f0>; layer = <CALayer: 0x79836ca0>; contentOffset: {0, 0}>
,但是当我检查的框架和内容-viewDidAppear
方法抵消:
<UITableView: 0x7ab79c00; frame = (0 0; 1024 768); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7998f700>; layer = <CALayer: 0x7998f560>; contentOffset: {0, -64}>
我不知道如何得到-64的偏移量。
只有顺序的方法视图没有负载,然后视图确实出现,但内容偏移量奇迹般地改变了我。
可能是什么原因?
这是我的viewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
_theTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
_theTableView.dataSource = self;
_theTableView.delegate = self;
[self.view addSubview:_theTableView];
_theTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
self.title = @"File Manager";
}
我的导航栏,但奇怪的是我看到我的表,因为它应该是不转移。所以看起来很完美,我看到顶部细胞,当我滚动到底部时,我看到最后一个细胞。即使指标告诉我,内容偏移量为0.如果我强制设置内容偏移{0,0},那么看起来像第一个单元格在导航栏下,垂直指标不是从顶部开始,但有一些填充大约64点,但这很奇怪。
我想这是因为状态栏和导航栏。但如果硬编码创建我的偏移和帧,它不会帮助我。好像系统它自动形成我=)
你在使用Autolayout吗?如果是的话,你可以添加TopSpacetoSuperview的约束,然后检查 – parvind 2015-04-01 14:49:44
@parvind我已经使用布局,但似乎仍然有那些-64点。事实上,我只是看到它在日志中,视觉上看起来一切都很好。但是当我尝试滚动时,我需要比较我的内容偏移,当它接近0,但内容偏移-64的初始点,然后我应该比较我的东西基于-64点而不是0 – 2015-04-01 15:30:37
只是一个说明:两个日志在这篇文章的顶部是*两个不同的'UITableView's * - 地址是不同的! – ravron 2015-04-01 16:47:13