2013-12-06 4 views
0

У меня есть изображение, у которого уже есть граница, возможно, 2 точки черного цвета. Предположим, что изображение 60x60 с выгравированной границей. Вместо того, чтобы иметь эту черную рамку с 2 pt, я хочу 1pt серый бордюрный, но я хочу сделать это с помощью кода и не получить новые активы.Как добавить границу в UIImageView?

Я думал о программном удалении черной границы, так что тогда изображение будет 58x58, а затем добавит 1-пиксельный штрих в серый цвет с помощью кода.

Как бы я это сделал?

+1

Если ширина границы известно, только [обрезать изображение] (http://stackoverflow.com/questions/10079701/how-do-you-crop-an-image-in-ios), затем [добавить границу] (http://stackoverflow.com/questions/1354811/how-can-i-take-an-uiimage- и-дать-это-а-черный-границу). –

ответ

1

Вы можете обрезать изображение на 2px с границы. вы можете принять помощь от этого tutorial. А затем добавить границу к ImageView, используя следующий код:

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

Имейте в виду, чтобы добавить заголовок:

#import <QuartzCore/QuartzCore.h> 
0

Во-первых изменить размер UIImageView, чтобы 58x58 и изменить свойство contentMode в ImageView в к UIViewContentModeCenter. Затем добавьте следующий код ниже;

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

Не забудьте добавить библиотеку QuartzCore/QuartzCore.h.

Я не пробовал, но надеюсь, что это поможет.

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]; 
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 
Смежные вопросы