我有一個普通的桌面視圖與自定義單元格,在iOS 6.0完美工作,但升級到iOS 10後,分散的問題出現。cellForRowAtIndexPath:被調用,但沒有顯示在tableview
注意:該應用程序可以在iPhone 5上正常工作,無論是在模擬器上還是在真實設備上。所有設備都運行iOS 10.2,但iPhone 6及以上版本具有下述問題。
一些tableviews像以前一樣工作正常,而其中一個tableView總是顯示1個單元格(即使艱難的cellForRowAtIndexPath被稱爲7次),另一個表格儘管cellForRowAtIndexPath
被調用了兩次,但根本不顯示任何單元格。
我想知道爲什麼如果tableview不關心顯示結果調用該方法?
我完全喪失了正在發生的事情以及如何解決這個問題。一直沒有進展的一天。我已經嘗試清理並運行不同的構建,無法讓受影響的表訪問行爲正確。我不知道接下來要嘗試什麼?任何幫助表示讚賞,謝謝!
好,因爲你需要一些代碼,這是它的一部分,不是那麼敏感。數據源:
- (void)viewDidLoad
{
[super viewDidLoad];
NOSUserInfo2 *userInfo = [S24SharedUserHandler currentUser];
dataSource = [NSMutableArray arrayWithArray:[userInfo children]];
if([userInfo student] || [userInfo teacher])
{
[dataSource insertObject:userInfo atIndex:0];
}
self.contentSizeForViewInPopover = CGSizeMake(250, 45*dataSource.count-1);
self.tableView.backgroundColor=[UIColor colorWithWhite:0.95f alpha:1];
self.tableView.scrollEnabled=NO;
[self.tableView registerNib:[UINib nibWithNibName:@"NOSPersonSelectorCell" bundle:nil] forCellReuseIdentifier:@"PersonPopoverCell"];
}
調用此2次:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"PersonPopoverCell";
NOSPersonSelectorCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.selectionStyle=UITableViewCellSelectionStyleNone;
cell.textLabel.font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:15];
cell.textLabel.backgroundColor=[UIColor clearColor];
NSObject *dataObject = [dataSource objectAtIndex:[indexPath row]];
if ([dataObject isKindOfClass:[NOSUserInfo2 class]]) {
cell.textLabel.text = [(NOSUserInfo2 *)dataObject name];
cell.pk = [(NOSUserInfo2 *)dataObject personPK];
}
else {
cell.textLabel.text = [(NOSChild2 *)dataObject childName];
cell.pk = [(NOSChild2 *)dataObject childPK];
}
cell.textLabel.textColor = [UIColor colorWithWhite:0.18f alpha:1];
//NSLog(@"%d", [S24SharedUserHandler selectedPk]);
cell.checkmark.hidden=cell.pk!=[S24SharedUserHandler selectedPk];
return cell;
}
而且結果是的tableview是空的。
新信息2017年1月11日 該應用程序在手機上測試,但不在模擬器上。我仍然不知道什麼是錯誤的,我真的對於我提出這個問題的積極態度感到失望。如果有人能解釋他們爲什麼認爲這是一個糟糕的問題,我將不勝感激。
顯然,一切工作在iPhone 5上。它不適用於iPhone 6或更高版本。請注意,iOS仍然是10.2,因爲iPhone 5和iPhone 6和7都具有iOS 10.2
由於工作與不工作之間的唯一區別是設備,而不是ios版本,我現在傾向於它是僅在特定大小時纔會出現的UI錯誤。
一說出現另一個問題是,我也gesturerecognizer只適用於iPhone5的,而不是6+
新的信息!
我可以通過評論heightForRowAtIndexPath
代碼來解決問題。這現在意味着我需要其他方式來調整某些單元的高度,這是當前的問題。我仍然不知道爲什麼uitableview這樣表現。
您需要解釋您的數據模型併發布所有表視圖數據源方法。 –
你需要什麼代碼?我沒有什麼特別的事情發生,正如我所說的,相同的代碼在另一個平臺上工作。我剛剛沒有發現有人說過cellForRow已被調用,但沒有顯示任何東西 – Ostmeistro
@Ostmeistro以及您的cellForRow代碼將是一個好的開始。另外,可能是對數據模型的解釋。或者,也許你如何創建tableview,它的委託/ datasoruce – Fogmeister