我在方法- (void)viewDidLoad
中设置了tableView的contentInset,属性为self.tableView.contentInset = UIEdgeInsetsMake(200, 0, 200, 0);
但是,tableView.contentInset
会自动更改为:{64, 0, 0, 0}
。为什么会发生这种情况,我该如何解决这个问题?
环境:XCode8.1 iOS10.1
#import "YAVideoViewController.h"
static NSString * const ID = @"cell";
@interface YAVideoViewController ()
@end
@implementation YAVideoViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor arcColor];
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:ID];
self.tableView.contentInset = UIEdgeInsetsMake(200, 0, 200, 0);
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 50;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID forIndexPath:indexPath];
cell.textLabel.text = [NSString stringWithFormat:@"第%ld个cell",indexPath.row];
return cell;
}
@end
答案 0 :(得分:4)
您需要在viewDidAppear或viewDidLayoutSubviews方法中更改内容插入内容。
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
self.tableView.contentInset = UIEdgeInsetsMake(200, 0, 200, 0);
}
答案 1 :(得分:3)
在viewDidLoad
方法中添加此内容。
self.automaticallyAdjustsScrollViewInsets = NO;