如何为UIImageView添加边框?

时间:2013-12-06 07:26:18

标签: ios objective-c cocoa-touch uiimageview uiimage

我的图像已经有大约2个黑色边框。让我们说图像是60x60,边框被烘焙。我没有这个2磅的黑色边框,我想要一个1磅的灰色边框,但我想通过代码执行此操作,而不是获得新的资产。

我正在考虑编程移除黑色边框,使图像为58x58,然后通过代码添加灰色的1像素笔划。

我该怎么做?

4 个答案:

答案 0 :(得分:1)

您可以从边框裁剪2px的图像。你可以从tutorial获得帮助。然后使用以下代码将边框添加到imageview:

imageView.layer.borderWidth = 1.0f;
imageView.borderColor: [[UIColor blackColor] CGColor];  
imageView.layer.setMasksToBounds = YES;

请注意添加标题:

#import <QuartzCore/QuartzCore.h>

答案 1 :(得分:1)

试试这个......

#import <<QuartzCore/QuartzCore.h>>

imageviewObj.layer.borderColor = [UIColor whiteColor].CGColor;

imageviewObj.layer.borderWidth = 2.0;

imageviewObj.layer.cornerRedius = 10.0;

[imageviewObj setClipsToBound:YES] // this is to restrict your image inside your imageview

答案 2 :(得分:0)

首先将UIImageView的大小更改为58x58,然后将ImageView的contentMode属性更改为UIViewContentModeCenter。然后在下面添加以下代码;

YourImageView.clipsToBounds = YES;
YourImageView.layer.borderWidth = 1.0;
YourImageView.layer.borderColor = [[UIColor grayColor] CGColor];

不要忘记添加QuartzCore / QuartzCore.h库。

我没试过,但希望这有帮助。

答案 3 :(得分:0)

用户关注方法:Set border around UIImageView

    #import <QuartzCore/QuartzCore.h>

    #define kBoarderWidth 3.0
    #define kCornerRadius 8.0

    CALayer *borderLayer = [CALayer layer];
    CGRect borderFrame = CGRectMake(0, 0, (imageView.frame.size.width), (imageView.frame.size.height));
    [borderLayer setBackgroundColor:[[UIColor clearColor] CGColor]];
    [borderLayer setFrame:borderFrame];
    [borderLayer setCornerRadius:kCornerRadius];
    [borderLayer setBorderWidth:kBorderWidth];
    [borderLayer setBorderColor:[[UIColor redColor] CGColor]];
    [imageView.layer addSublayer:borderLayer];