0

问题

我已经使用以下代码缩放图像并使其适合单点触控中 UITableviewCell 的边界。此代码正在缩放图像,但它使图像颜色变淡意味着它没有保持颜色组合。所以请提供任何更好的解决方案。

代码

public static UIImage Scale (UIImage source, SizeF newSize) { UIGraphics.BeginImageContext (newSize); var context = UIGraphics.GetCurrentContext (); context.TranslateCTM (0, newSize.Height); context.ScaleCTM (1f, -1f);

        context.DrawImage (new RectangleF (0, 0, newSize.Width, newSize.Height), source.CGImage);

        var scaledImage = UIGraphics.GetImageFromCurrentImageContext();
        UIGraphics.EndImageContext();

        return scaledImage;         
    }
4

2 回答 2

1

如果你想要规模UIImage,那么看这个方法。它工作正常。您应该将方法的结果缓存在文件系统中,以避免在每个GetCell.

UIImageView如果您的源图像与 Mohib Sheth 解决方案中的 s大小相同或几乎相同,则最好UITableViewCell使用设置ContentMode属性。它的源图像比UIImageViews in大得多UITableViewCell,滚动速度会更低。

于 2013-08-07T09:36:36.443 回答
0

在此处阅读有关 iOS 中 UIView 的 ContentMode 的所有信息

根据您的要求,您需要将 ContentMode 属性设置为 UIViewContentModeScaleAspectFit

我无法为您提供示例代码,因为您没有提供任何有关如何创建和填充 TableView 的代码。

于 2013-08-07T08:43:51.313 回答