gpt4 book ai didi

iphone - 表格 View 加载更多单元格?

转载 作者:行者123 更新时间:2023-11-29 13:21:56 25 4
gpt4 key购买 nike

试图制作一个加载更多的单元格,但我无法让它出现在其他单元格之后,抱歉含糊不清,但我会向您展示我的代码...

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [rows count] + 1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *postCellId = @"postCell";
UITableViewCell *cell = nil;

cell = [self.tableView dequeueReusableCellWithIdentifier:postCellId];

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:postCellId];

NSUInteger row = [indexPath row];
NSUInteger count = [rows count];

if (row == count) {
loadMore = [[UILabel alloc] initWithFrame:CGRectMake(0, 30, 320, 25)];
loadMore.backgroundColor = [UIColor colorWithRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:1.0];
loadMore.font = [UIFont fontWithName:@"AvenirNext-Bold" size:18.0];
loadMore.textColor = [UIColor colorWithRed:60.0 / 255.0 green:58.0 / 255.0 blue:55.0 / 255.0 alpha:1.0];
loadMore.text = @"Load More...";
loadMore.textAlignment = UITextAlignmentCenter;
[cell.contentView addSubview:loadMore];


displaying = [[UILabel alloc] initWithFrame:CGRectMake(0, 50, 320, 25)];
displaying.backgroundColor = [UIColor colorWithRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:1.0];
displaying.font = [UIFont fontWithName:@"AvenirNext-Bold" size:12.0];
displaying.textColor = [UIColor colorWithRed: 115.0 / 255.0 green: 113.0/ 255.0 blue:112.0 / 255.0 alpha:1.0];
displaying.text = [NSString stringWithFormat:@"Displaying %i Results", rows.count];
displaying.textAlignment = UITextAlignmentCenter;
[cell.contentView addSubview:displaying];

} else {

dict = rows[indexPath.row];

thumbimgView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 80, 80)];
businessLabel = [[UILabel alloc] initWithFrame:CGRectMake(103, 10, 207, 25)];
locationLabel = [[UILabel alloc] initWithFrame:CGRectMake(103, 35, 207, 35)];
locimgView = [[UIImageView alloc] initWithFrame:CGRectMake(220, 75, 20, 15)];
distanceLabel = [[UILabel alloc] initWithFrame:CGRectMake(240, 75, 60, 15)];

businessLabel.backgroundColor = [UIColor colorWithRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:1.0];
businessLabel.font = [UIFont fontWithName:@"AvenirNext-Bold" size:18.0];
businessLabel.textColor = [UIColor colorWithRed:60.0 / 255.0 green:58.0 / 255.0 blue:55.0 / 255.0 alpha:1.0];
businessLabel.text = dict[@"business"];
[cell.contentView addSubview:businessLabel];

locationLabel.backgroundColor = [UIColor colorWithRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:1.0];
locationLabel.font = [UIFont fontWithName:@"AvenirNext-Regular" size:14.0];
locationLabel.text = dict[@"location"];
locationLabel.textColor = [UIColor colorWithRed: 115.0 / 255.0 green: 113.0/ 255.0 blue:112.0 / 255.0 alpha:1.0];
locationLabel.numberOfLines = 2;
locationLabel.lineBreakMode = UILineBreakModeTailTruncation;

[cell.contentView addSubview:locationLabel];

listingLoc = [[CLLocation alloc] initWithLatitude:[dict[@"lat"] doubleValue] longitude:[dict[@"lon"] doubleValue]];

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

float kilometers = [appDelegate.currentLoc distanceFromLocation:listingLoc] / 1000;

int milesint = kilometers * 0.621371192;

NSString *milesOut = [NSString stringWithFormat:@"%i miles", milesint];

distanceLabel.backgroundColor = [UIColor colorWithRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:1.0];
distanceLabel.font = [UIFont fontWithName:@"AvenirNext-Regular" size:12.0];
distanceLabel.textColor = [UIColor colorWithRed:128.0 / 255.0 green:128.0 / 255.0 blue:128.0 / 255.0 alpha:1.0];
distanceLabel.text = milesOut;
[cell.contentView addSubview:distanceLabel];

NSArray *splitImages = [dict[@"image1"] componentsSeparatedByString:@", "];

icon = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[splitImages objectAtIndex:0]]]];

[thumbimgView setContentMode:UIViewContentModeScaleAspectFill];
[thumbimgView setClipsToBounds:YES];

thumbimgView.image = icon;
[cell.contentView addSubview:thumbimgView];

locimgView.image = [UIImage imageNamed:@"location-icon.png"];
[cell.contentView addSubview:locimgView];

cell.textLabel.text = dict[@"business"];
cell.textLabel.hidden = YES;

}

return cell;
}

它所做的只是从数组中返回数据,并且在加载更多之后没有添加任何单元格。非常感谢。

最佳答案

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

NSUInteger row = [indexPath row];
NSUInteger count = [rows count];
UITableViewCell *cell = nil;

if (row == count) {
// This is the bottom most cell, therefore display the More-Cell
static NSString *postCellId = @"moreCell";

cell = [self.tableView dequeueReusableCellWithIdentifier:postCellId];
if (cell == nil) { // it cannot be re-used, so create a new one

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:postCellId];
// now add all sub views such as labels and buttons.
// If the layout is always the same then you may set it here.

}
// Now it is either re-used or newly created. However, it carries all the subviews.
// Here set the values. You may set the layout here too, if the layout depends on data.

} else {
// Display a regular Post-Cell
static NSString *postCellId = @"postCell";

cell = [self.tableView dequeueReusableCellWithIdentifier:postCellId];
if (cell == nil) { // it cannot be re-used, so create a new one

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:postCellId];
// now add all sub views such as labels and buttons.
// If the layout is always the same then you may set it here.

}
// Now it is either re-used or newly created. However, it carries all the subviews.
// Here set the values. You may set the layout here too, if the layout depends on data.

}

return cell;
}

关于iphone - 表格 View 加载更多单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14171414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com