最後のセルに load more メソッドを実装しようとしています。実験した後、最終的にセルにさらに負荷を実装することができました(まだ機能はありません)。しかし、XML からコンテンツを読み込んでいるため、少し難しいようです。
これが私がすることです:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if([tabelle count]>= 10)
{
return [tabelle count]+1;
}
else
{
return [tabelle count];
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; }
if(indexPath.row != [tabelle count] )
{
cell.textLabel.font = [UIFont fontWithName:@"Arial-Bold" size:14.0];
cell.detailTextLabel.font = [UIFont fontWithName:@"Arial" size:12.0];
self.tableView.separatorColor = [UIColor clearColor];
NSString *TableText = [[NSString alloc] initWithFormat:@"%@", [[tabelle objectAtIndex:indexPath.row] number1]];
NSString *TableText2 = [[NSString alloc] initWithFormat:@"%@", [[tabelle objectAtIndex:indexPath.row] number2]];
NSString *cellValue = [NSString stringWithFormat:@"%@", TableText2];
NSString *cellValue2 = [NSString stringWithFormat:@"%@", TableText];
cell.textLabel.text = cellValue;
cell.detailTextLabel.textColor = [UIColor colorWithRed:51.0f/255.0f green:102.0f/255.0f blue:220.0f/255.0f alpha:1.0f];
cell.detailTextLabel.text = cellValue2;
}
else if(indexPath.row==[tabelle count])
{
UILabel *loadMore =[[UILabel alloc]initWithFrame: CGRectMake(0,0,320,30)];
loadMore.textColor = [UIColor blackColor];
loadMore.backgroundColor = [UIColor clearColor];
loadMore.font=[UIFont fontWithName:@"Verdana" size:20];
loadMore.textAlignment=UITextAlignmentCenter;
loadMore.font=[UIFont boldSystemFontOfSize:20];
loadMore.text=@"Gimme more!";
[cell addSubview:loadMore];
}
return cell;
}
load more セル (Gimme more! と表示されます) が最後のセルにポップアップ表示され (ただし、新しい最後のセルは作成されず、通常の最後のセルに表示されるため、その内容に干渉します)、テーブルビュー上にランダムにポップアップ表示されます。
最初の問題は、この方法でそれ自体がビット化されたため、少し変更する必要があったことです。そうしないと、以下のエラーが発生します。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == [tabelle count]) {
} else {
NSString *text = [[self.tabelle objectAtIndex:indexPath.row] number1];
CGSize textSize = [text sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:CGSizeMake(self.tableView.frame.size.width - PADDING * 7, 1000.0f)];
return textSize.height + PADDING * 7;
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
{
if(indexPath.row==[tabelle count])
{
[self.tableView cellForRowAtIndexPath:indexPath];
}
}
そして、ここに私が持っていたエラーがあります(そして、ビューをスクロールするときにまだあることがあります):
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 11 beyond bounds [0 .. 10]'