headkit
headkit

Reputation: 3327

How to add only right border to UIImageView

I want to add a white border to an UIImageView. I tried the following, but it didn't work:

    UIImage *image = [UIImage imageNamed:imagePath];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    CGRect rect = imageView.frame;        
    rect.size.width = rect.size.width + 1; // create white right border
    [imageView setBackgroundColor:[UIColor whiteColor]]; 

    imageView.frame = rect;
    [myViewView addSubview:imageView];

Upvotes: 6

Views: 5889

Answers (2)

headkit
headkit

Reputation: 3327

I now did it like

        CALayer *sublayer = [CALayer layer];
        sublayer.backgroundColor = [UIColor whiteColor].CGColor;
        sublayer.frame = CGRectMake(imageView.bounds.size.width, 0, 1, imageView.frame.size.height);
        [imageView.layer addSublayer:sublayer];

Upvotes: 14

CBredlow
CBredlow

Reputation: 2840

You can create a UIView that is larger than the UIImage view, and set the image view's frame to be 0,0, width+1, height, and that will add the extra to the side.

Upvotes: 1

Related Questions