我有一个盒子,我想只在它的宽度上扩展,同时仍然保持我的圆角。我在photoshop中制作了图形。它正好是13px宽,所以每个角落6个,中间重复1个。
UIImage* img = [[UIImage imageNamed:@"screen_displayer_rounded.png"] stretchableImageWithLeftCapWidth:6 topCapHeight:6];
CGRect rect = CGRectMake(272.0f, 14.0f, 100.0f, 30.0f);
UIImageView* imgView = [[UIImageView alloc] initWithFrame:rect];
[imgView setImage:img];
有人能告诉我为什么会这样吗?
谢谢!
答案 0 :(得分:1)
您应该检查视图是否不会以非整数位置结束。如果选择“使用性能工具运行>核心动画”并选中“颜色未对齐的图像”,则所有未对齐的图像将显示为紫色。
如果您的图片是紫色的,请尝试找出导致此问题的超级视图。注意事物的中心,因为这是解决这些问题的常见原因。
答案 1 :(得分:1)
我发现你不能仅仅依赖stretchableImageWithLeftCapWidth来正确调整大小。
我通常使用当stretchableImageWithLeftCapWidth对我不起作用时可用于所有UIView子类的contentStretch属性。
查看有关contentStretch属性的UIView apple文档。
答案 2 :(得分:0)
只是检查 - 您是否在视网膜显示屏上观看非视网膜图像?这肯定会延长它。