我正在从Web服务动态加载图像。将加载图片(使用[UIImage imageWithData:data];
)并使用UIImageView
消息将其置于我的自定义UITableViewCell
的{{1}}中
。我在界面构建器中将imageView的宽度和高度设置为27乘19,并告诉他“Aspect fit”(尝试所有其他人也是btw),但图像不会这样做。它只是按比例缩放(我认为)来填充视图单元格。
我尝试了很多东西,比如调整图像大小(完成工作,但我可以计算视网膜显示屏上的像素),调整UIImageView的大小...但我只是不明白...有人得到了我知道我做错了什么?
更改单元格的代码:
setImage
这是观点:
设置:
答案 0 :(得分:0)
如果要调整UIImageView
的大小,可以使用frame属性。
假设你在.h文件中有一个UIImageView
声明(让我们接受UIImageView *myImage;
),它也链接到接口构建器。
你有合成它.m等等。
然后当你想调整UIImageView的大小时,使用
myImage.frame = CGRect(x,y,width,height);
注意:通过在代码中声明宽度和高度,IB中声明的宽度和高度将被覆盖。
然后别忘了将它添加到子视图中,
i.e [self.view addSubview:myImage];
完成后,您可以看到更改。
答案 1 :(得分:0)
如果取消选中“自动调整子视图”会怎样?
答案 2 :(得分:0)
@GuidoH嘿抱歉迟到的回复.. 以下是将图像添加到表格视图单元格的代码。
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *SimpleTableIdentifier = @" SimpleTableIdentifier ";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleTableIdentifier] autorelease];
}
UIImage *image = [UIImage imageNamed:@"star.png"];
cell.imageView.image = image;
NSUInteger row = [indexPath row];
cell.textLabel.text = [listData objectAtIndex:row];
return cell;
}
//use this delegate it will increase the row size and thus your imagesize will get increased too.
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 80; //value can be changed
}
我建议缩放图片肯定会导致应用程序性能下降。
答案 3 :(得分:0)
我刚刚在今天早些时候发布了一个“解决方案”,但这似乎有效,但这是一个错误的假设。在询问IRC后,我找到了真正的解决方案。我使用tag
0,不应该使用那个。将其更改为更高的值确实解决了我的问题。有时它可能很容易。 :)
谢谢你们。