UIImageView在边框上拉伸/重复图像并保持其质量

时间:2016-11-20 11:23:45

标签: ios objective-c uiimageview uiimage

我有一个平方UIImage

enter image description here

我尝试使用此UIImageView为任何给定的矩形创建UIImage,我将用它作为其上方另一个视图的边框。

我不想手动设置layer的边框,但我想使用此图片。

所需输出的示例:

enter image description here

我尝试使用UIView' UIViewContentModeScaleToFill

UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(5, 5, 300, 150)];
[imageView setImage:[UIImage imageNamed:@"background"]];
[imageView setContentMode:UIViewContentModeScaleToFill];

但是图像拉伸而不是返回所需的输出

示例输出:

enter image description here

1 个答案:

答案 0 :(得分:4)

以编程方式,您可以使用阴影效果创建边框:

[view.layer setCornerRadius:5];
[view.layer setShadowColor:[UIColor lightGrayColor].CGColor];
[view.layer setShadowOpacity:0.4];
[view.layer setShadowRadius:1.0];
[view.layer setShadowOffset:CGSizeMake(1.0, 1.0)];

虽然如果你想使用Xcode界面来做,你可以将其作为

  1. 拖动&将您的方形图像放入资产
  2. 选择图片&单击"显示属性检查器"
  3. 在切片部分选择"水平和垂直" for Slices
  4. 现在根据需要使用它,您将拥有没有任何失真的拉伸图像

    enter image description here

    您可以在点击"显示切片"在底部

    enter image description here

    您也可以使用

    以编程方式执行此操作

    resizableImageWithCapInsets:resizingMode: