我有两个设备,一个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;