【问题标题】:Color misaligned in iosios中的颜色未对齐
【发布时间】:2017-09-12 17:45:55
【问题描述】:

在我的理解中,如果一个图像和 imageView 的大小不一样,它会被标记为洋红色。在我的应用程序中,我有一个名为 myImage 的图像,其中 myImage.imageView = {50,50}、myImage.image= {63,63} 且 scale=2,但是,它标记为黄色,而不是洋红色。我的问题是:

  1. 既然它的image和imageView大小不一样,为什么不是洋红色呢?
  2. 为什么它是黄色的?我通过使用加载图像

[UIImage imageNamed:@"Rainbow_Circle.png"].

myImage.frame = {0,0,50, 50},

为什么会发生拉伸?如何检查拉伸?

  1. 比例重要吗?从 .png 加载后,比例为 2,而不是 1。

谢谢!

【问题讨论】:

    标签: ios objective-c performance


    【解决方案1】:

    一般我们为imageView设置frame。如果图片的大小与 imageView 的大小不兼容,它将根据您为 imageView 设置的内容模式显示。

    例如 UIViewContentModeScaleToFill 在必要时通过更改内容的纵横比来缩放内容以适应自身的大小。

    UIViewContentModeScaleAspectFit 通过保持纵横比来缩放内容以适应视图的大小。视图边界的任何剩余区域都是透明的。

    在您的情况下,由于图像尺寸小于 imageView,如果您使用 UIViewContentModeScaleToFill,则图像可能会出现拉伸。

    在您的情况下,您应该为 imageView 赋予背景颜色为洋红色。品红色和黄色的逻辑尚不清楚。

    如果您尝试在绘制图像之前设置框架,例如,如果在 viewDidLoad 中使用,请确保使用 layoutIfNeeded 方法。

    【讨论】:

      【解决方案2】:

      我想通了!它是洋红色的,因为图像的单元格框架不是完整的。一旦它得到修复,它的所有子视图都可以正常工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-22
        • 1970-01-01
        • 1970-01-01
        • 2011-09-11
        • 2013-09-06
        • 1970-01-01
        • 2015-03-21
        • 2017-11-24
        相关资源
        最近更新 更多