How to add only a TOP border on a UIButton?
cocoa-touch, ios, ios7, iphone, uibutton
Solution
UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, btn.frame.size.width, 1)];
lineView.backgroundColor = [UIColor redColor];
[btn addSubview:lineView];
you can do the same for each border. Adding multiple UIViews you can add bottom and left or top and right or any border you want.
i.e. bottom & left:
UIView *bottomBorder = [[UIView alloc] initWithFrame:CGRectMake(0, btn.frame.size.height - 1.0f, btn.frame.size.width, 1)];
bottomBorder.backgroundColor = [UIColor redColor];
UIView *leftBorder = [[UIView alloc] initWithFrame:CGRectMake(1, 0, 1, btn.frame.size.height)];
leftBorder.backgroundColor = [UIColor redColor];
[btn addSubview:bottomBorder];
[btn addSubview:leftBorder];
if you don't use ARC, remember to release UIViews after adding subviews (or use autorelease).
Problem
I know how to add border to a button in iOS 7, with the following code : ``` [[myButton layer] setBorderColor:[[[UIColor grayColor] colorWithAlphaComponent:0.5] CGColor]]; [[myButton layer] setBorderWidth:1]; [[myButton layer] setCornerRadius:15]; ``` But how can I add just one border ? I want to add only the top border.