dac*_*dac 5 iphone header uitableview uiimage
嘿,我把UIImage放到我的UITableVIew的节头中.因此我使用了一些我在互联网上找到的代码:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
self.imageViewForImage.image = [helperClass resizeImage:[self.offerItem objectForKey: @"picture"] forSize:CGSizeMake(280.0, 280.0) ];
[self.imageViewForImage.layer setBorderColor: [[UIColor blackColor] CGColor]];
[self.imageViewForImage.layer setBorderWidth: 1.2];
self.imageViewForImage.contentMode = UIViewContentModeBottom;
return self.imageViewForImage;}
-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section
{
if(section == 0)
return 320;
return 1.0;
}
Run Code Online (Sandbox Code Playgroud)
起初,图像完全按照iPhone的完整320px宽度进行缩放.但后来我发现,我的整个UITableView的contentMode-property被设置为"UIViewContentModeScaleToFill".所以我添加了一行代码,告诉我的UIImageView不要进行缩放.在我的情况下,我将其设置为"UIViewContentModeBottom".
问题:这一切都有效,图像最终显示在280x280的预期尺寸,但我在图片周围做的边框仍然拉伸/调整到iPhone的完整宽度......?!
我无法弄清楚如何解决这个问题,因为我想要UIImage周围的边框.
感谢您对此有任何帮助..
编辑:有没有人有一些想法,这里出了什么问题?
您的UIImageView有一个图层,其中包含您为图像设置的内容.图层的大小等于imageView的大小,但图像的大小小于它.因此,当您将contentMode设置为视图时,如果内容大小小于图层大小,则会向其显示在底层绘制图层内容的图层.因此,即使您已调整其内容图像的大小,图层的大小(以及其帧的大小)仍然相同.
问题是,当您应该调整UIImageView的大小时,您正在尝试调整图像大小.这部分代码看起来像这样:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] init];
self.imageViewForImage.frame = CGRectMake(20, 20, 280, 280);
self.imageViewForImage.image = [self.offerItem objectForKey:@"picture"];
self.imageViewForImage.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
[self.imageViewForImage.layer setBorderColor: [[UIColor blackColor] CGColor]];
[self.imageViewForImage.layer setBorderWidth: 1.2];
[headerView addSubview:self.imageViewForImage];
return [headerView autorelease];
}
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助!
更新:问题是这个方法返回的视图由tableView重新构建以填充所有标题.所以我们必须创建一个实际上是标题视图并在其上放置imageView的视图.
| 归档时间: |
|
| 查看次数: |
5938 次 |
| 最近记录: |