【问题标题】:Show portion of UIImage in UIImageVIew在 UIImageVIew 中显示部分 UIImage
【发布时间】:2012-05-05 14:26:24
【问题描述】:

这个问题可能已经得到解答,但经过数小时的谷歌搜索,我找不到解决问题的方法。

我在 自定义 UITableCell 中有一个 UIImageView (320*320),里面有一个 UIImage (320*320)。 当我点击一个按钮时,UIImageView 会调整为 320*80(动画)和 UIImage。

如何防止UIImage 调整大小? 我希望这个UIImage 保持不变,并且只显示该图像的一部分(原点为 0/0 的 320*80 帧)

编辑:裁剪

我想把图片裁剪到合适的大小,然后将UIImageView的图片设置为全尺寸图片,但是看起来很难看,因为当用户点击UIImageView , 这个仍然是 320*320 但 UIImage 已设置为裁剪后的 (320*80) 所以它被拉伸...

谢谢

【问题讨论】:

    标签: objective-c uiimageview uiimage


    【解决方案1】:

    我在我的一个应用程序中做类似的事情,当我创建UIImageView 对象时,我将属性contentMode 设置为UIViewContentModeScaleAspectFill,并将clipsToBounds 属性设置为YES。希望这会有所帮助。

    【讨论】:

    • 哦,你是救命稻草,我开始用滚动视图来做,但我遇到了更多问题。非常感谢
    【解决方案2】:

    您可以调整图像大小,然后将 UIImageView 图像替换为调整后的图像。

    CGImageRef imageToBeResized = yourImage.CGImage;
    CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToBeResized, CGRectMake(0, 0, 320, 80));
    CGRelease(imageToBeResized);
    UIImage *resizedImage = [UIImage imageWithCGImage:imageToBeResized];
    

    【讨论】:

    • 我试过你的解决方案,这不是我想要的(见编辑的问题)
    【解决方案3】:

    也许你应该考虑在你的 UIImageView 里面使用一个 UIScrollView。因此,您可以使用其属性来归档所需的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多