IOS - 不止一次调用cellForRowAtIndexPath

时间:2018-03-09 09:06:22

标签: ios uitableview ios11

我有两个设备,一个iPad mini和一个iPad Air。 iPad mini的iOS版本是iOS 11.xx,我的iPad Air版本是iOS 10.xx.

在我的iPad Air中,一切正常,cellForRowAtIndexPath只调用一次。但是使用我的iPad mini,根据表视图的行数调用表视图第一行的cellForRowAtIndexPath

我一直试图解决这个问题一个星期了,我真的想知道这是iOS版本问题还是代码问题?

这是我的numberOfSections

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

if ([delegate respondsToSelector:@selector(numberOfSectionsInEasyTableView:)]) {
    return [delegate numberOfSectionsInEasyTableView:self];
}
return 1;

这是我的numberOfRowsInSection

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSUInteger numOfItems = _numItems;

if ([delegate respondsToSelector:@selector(numberOfCellsForEasyTableView:inSection:)]) {
    numOfItems = [delegate numberOfCellsForEasyTableView:self inSection:section];

    // Animate any changes in the number of items
    [tableView beginUpdates];
    [tableView endUpdates];
}

return numOfItems;

这是我设置_numItems

的地方
- (id)initWithFrame:(CGRect)frame numberOfRows:(NSUInteger)numRows ofHeight:(CGFloat)height {
if (self = [super initWithFrame:frame]) {
    _numItems           = numRows;
    _cellWidthOrHeight  = height;

    [self createTableWithOrientation:EasyTableViewOrientationVertical];
}
return self;

0 个答案:

没有答案