I am making my app ready for iOS7. I did conversion and was working with a user. The button in the app does not look like button. Looks very flat. Is there someway to put border or make it stand like a button?


Try this for adding border, It will work

#import <QuartzCore/QuartzCore.h>

then in viewDidLoad

_btn.layer.borderWidth=1.0f;
_btn.layer.borderColor=[[UIColor blackColor] CGColor];
_btn.layer.cornerRadius = 10;

also you can fill the color for making appearance somewhat like button, or best way is to use image there

Apart from BorderColor, you can do it by using Runtime attributes too.

enter image description here


try this , this will set border to button

#import <QuartzCore/QuartzCore.h>

btn.layer.borderColor = [UIColor blackColor].CGColor;

btn.layer.borderWidth = 1.0;

btn.layer.cornerRadius = 10;

With Swift and XCode 6 you can do this.

Click the UIButton element in Storyboard, and go to identity inspector. In the user defined runtime attributes, enter:

layer.borderWidth number 1

If you want nice looking corners

layer.cornerRadius number 5
layer.maskToBounds boolean true

Now this will give you a border but to set the colour you need to do it with code. Go to your view controller, and add an IBOutlet from your button. Note that in this case it's an IBOutlet, not an IBAction. Say you do,

@IBOutlet weak var xButton: UIButton!

Call this in the viewDidLoad function like below to set the colour.

xButton.layer.borderColor = UIColor.whiteColor().CGColor

Thanks!


The design principles in iOS7 have changed. However, if you want to go flatter, but still want a custom button that "stands like a button", you can try out this open source component collection:

FlatUIKit on GitHub


There are two way to simplify button in ios 7

1>Set image : Just like Button using setImage Property for button

2>Set bordercolor borderWidth :

button.layer.borderWidth=1.0f;

button.layer.borderColor=[[UIColor blackColor] CGColor];