0

I need to put a label in UIView which has only 3 borders visible or highlighted as shown in the below image.How do i do this in objective-c. If example provided, it will be good.

enter image description here

cybergeeeek
  • 410
  • 8
  • 22

1 Answers1

0
- (CALayer *)prefix_addUpperBorder:(UIRectEdge)edge color:(UIColor *)color thickness:(CGFloat)thickness
{
    CALayer *border = [CALayer layer];

    switch (edge) {
        case UIRectEdgeTop:
            border.frame = CGRectMake(0, 0, CGRectGetWidth(self.frame), thickness);
            break;
        case UIRectEdgeBottom:
            border.frame = CGRectMake(0, CGRectGetHeight(self.frame) - thickness, CGRectGetWidth(self.frame), thickness);
            break;
        case UIRectEdgeLeft:
            border.frame = CGRectMake(0, 0, thickness, CGRectGetHeight(self.frame));
            break;
        case UIRectEdgeRight:
            border.frame = CGRectMake(CGRectGetWidth(self.frame) - thickness, 0, thickness, CGRectGetHeight(self.frame));
            break;
        default:
            break;
    }

    border.backgroundColor = color.CGColor;

    [self.layer addSublayer:border];

    return border;
}
Mohamad Bachir Sidani
  • 2,077
  • 1
  • 11
  • 17