유니버설 iPhone/iPad 앱을 만들고 기본보기에서 맞춤 셀을 만들고 싶습니다. iPhone에서는 잘 작동하지만 iPad에서는 dequeueReusableCellWithIdentifier가 : 셀 대신 nil을 반환합니다. 여기에 내 코드의 일부는 (어쨌든 작동하지 않기 때문에 나는 정상적인있는 UITableViewCell 내 사용자 정의 세포를 대체)입니다 : (iOS 유니버설 앱 - 맞춤 UITableViewCell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
CellIdentifier = @"MainPadCell"; //works fine when replaced with MainPhoneCell
__weak UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; //returns nil
[cell.textLabel setText:@"Test"];
return cell; //crash
}else{
CellIdentifier = @"MainPhoneCell";
__weak UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
[cell.textLabel setText:[NSString stringWithFormat:@"Cell %i", indexPath.row]];
return cell;
}
}
이상한 것은 내가 MainPhoneCell와 MainPadCell 셀을 교체 할 때 전화 세포를 보여주고 있다는 것입니다 I 불구하고 내 iPad Storyboard에 MainPhoneCell 재사용 식별자가 없으므로 iPad 스토리 보드에 MainPadCell이 있고 찾을 수 없습니다.
조언 해 주셔서 감사합니다.
가 이미 문제를 해결,이 코드를보고 응답을 위해 잘 모두 감사합니다 작동합니다. – haluzak
사용자가 cellForRowAtIndexPath에 iPhone 또는 iPad가 있는지 확인하는 것은 실제로 작업을 수행하는 데 비효율적 인 방법입니다. 이 메소드는 셀이 표시 될 때마다 실행됩니다. 잠재적으로 수천 번. –