我正在尝试在第8行的单元格文本旁边添加图像。我的问题是它没有进入(indexPath.row == 9)
方法,而我放置了断点我从indexPath.row = {length = 2, path = 0 - 0}
得到了这个值。那么请问我的问题在哪里?
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [data count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if (!cell)
{
cell = [[[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleValue1) reuseIdentifier:@"cell"] autorelease];
UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bakiyem-cell-bg.png"]];
img.x = 10.;
img.y = -6.;
[cell.contentView addSubview:img];
[img release];
//
cell.textLabel.font = [Constants regularFontWithSize:24.];
cell.textLabel.textColor = [Constants textGrayColor];
cell.detailTextLabel.font = [Constants mediumFontWithSize:24.];
}
cell.detailTextLabel.textColor = indexPath.row == 4 ? [UIColor colorWithRed:218./255. green:0 blue:37./255. alpha:1] : [Constants textGrayColor];
//My issue
if (indexPath.row == 9) {
cell.imageView.image = [UIImage imageNamed:@"info-logo.png"];
}
//
NSDictionary *dic = [data objectAtIndex:indexPath.row];
cell.textLabel.text = [dic objectForKey:@"value1"];
cell.detailTextLabel.text = [dic objectForKey:@"value2"];
return cell;
}
答案 0 :(得分:0)
使用indexPath.section == 7
进行尝试。或者可能indexPath.row == 7
正如Cem在评论中写的那样。
答案 1 :(得分:0)
indexPath.row
而不是indexPath.section
UITableViewCell
,请使用自定义单元格答案 2 :(得分:0)
1个部分内有9行,或9个部分,每个部分有1行吗?
对于第一种情况使用: - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 返回1; }
对于第二种情况;
(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 返回9; }
另外,在cellForRowAtIndexPath方法中使用:
在第一种情况下:indexPath.row == 9 在第二种情况下:indexPath.section == 0
答案 3 :(得分:0)
真的应该是
if (indexPath.row == 7) {
因为你只有一行。
如果断点仍然没有输入你的if语句,那么再添加一些记录来查看它的内容。
如果你尝试
怎么样NSLog(@"row = %i", indexPath.row);
if (indexPath.row == 7) {
NSLog(@"In if statement for row = %i", indexPath.row);
UIImage *myImage = [UIImage imageNamed:@"info-logo.png"];
NSLog(@"My image=%@",myImage);
cell.imageView.image = myImage;
}
NSLog中显示什么?
答案 4 :(得分:0)
你应该在以下方法中至少有9行是数据数组而indexPath.row = {length = 2,path = 0 - 0}意味着你在第0部分的第0行。如果以行数方法返回硬编码9,则它将输入(indexPath.row == 8)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return [data count]; }