Customize Button shape in ios 7.1

2019-04-30 12:09发布

问题:

Apple has added Button shape feature in ios 7.1. But I need to make it disable for my app or change its default color, shape to match UI of my app. It is possible without using custom type button? Please help me.

回答1:

Sub class the button and try which shape you want....

#import "YourButton.h"
#import <QuartzCore/QuartzCore.h>

@implementation YourButton

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}



- (void)awakeFromNib
{
    [super awakeFromNib];
    CALayer *mask = [CALayer layer];
    mask.contents = (id)[[UIImage imageNamed:@"ge.png"] CGImage]; // ge is the black & white png image
    CGSize size = self.frame.size;
    mask.frame = CGRectMake(0, 0, size.width, size.height);
    self.layer.mask = mask;
    [self.layer setMasksToBounds:YES];
}

@end

For your reference sample is attached Here



回答2:

These features reflect on apples default button control(may be nav bar). You don't need to worry about,these features are not app specific but for all apps.

If you want to ignore, don't use default button, instead go with custom.

P.S. After editing question by OP:

You can't achieve this without using custom implementation.

For More:reference



回答3:

Well you can make it custom type & use image according to the way you want to view that.



回答4:

IF you use a UINavigationBar or UIToolbar as the of the button then you will get a slightly darker color of the bar's tint color.

Otherwise you can get an underline whats color matches the text color, so i think this should not bother you. Leave it as it is.