我已经在方法- (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
最佳答案
您需要在viewDidAppear或viewDidLayoutSubviews方法中更改内容插图。
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
self.tableView.contentInset = UIEdgeInsetsMake(200, 0, 200, 0);
}
关于ios - UITableView contentInset更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40424581/