iOS7 Keyboard Return/Done/Search tint colour iOS7 Keyboard Return/Done/Search tint colour objective-c objective-c

iOS7 Keyboard Return/Done/Search tint colour


With a little hack maybe you can achieve the effect you are looking for. But it might not be able to pass the app review.

-(NSArray*)subviewsOfView:(UIView*)view withType:(NSString*)type{    NSString *prefix = [NSString stringWithFormat:@"<%@",type];    NSMutableArray *subviewArray = [NSMutableArray array];    for (UIView *subview in view.subviews) {        NSArray *tempArray = [self subviewsOfView:subview withType:type];        for (UIView *view in tempArray) {            [subviewArray addObject:view];        }    }    if ([[view description]hasPrefix:prefix]) {        [subviewArray addObject:view];    }    return [NSArray arrayWithArray:subviewArray];}-(void)addColorToUIKeyboardButton{    for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows]) {        for (UIView *keyboard in [keyboardWindow subviews]) {            for (UIView *view in [self subviewsOfView:keyboard withType:@"UIKBKeyplaneView"]) {                UIView *newView = [[UIView alloc] initWithFrame:[(UIView *)[[self subviewsOfView:keyboard withType:@"UIKBKeyView"] lastObject] frame]];                newView.frame = CGRectMake(newView.frame.origin.x + 2, newView.frame.origin.y + 1, newView.frame.size.width - 4, newView.frame.size.height -3);                [newView setBackgroundColor:[UIColor greenColor]];                newView.layer.cornerRadius = 4;                [view insertSubview:newView belowSubview:((UIView *)[[self subviewsOfView:keyboard withType:@"UIKBKeyView"] lastObject])];            }        }    }}

The app I used to decode the view hierarchy was : http://revealapp.com/

The end result is like this: Green Key


You can not change button tint color but you can set keyboard Tint color by using UIKeyboardAppearance

image

Example: yourTextField.keyboardAppearance = UIKeyboardAppearanceDark;

Here is a very nice document provided by Apple, take a look here:

Managing the Keyboard


let colors: [UIColor] = [.red, .blue, .green, .purple, .yellow, .orange, .brown]if let window = UIApplication.shared.windows.first(where: {     $0.isType(string: "UIRemoteKeyboardWindow") }) {    if let keyplaneView = window.subview(ofType: "UIKBKeyplaneView") {        for (i, keyView) in keyplaneView.subviews.filter({            $0.isType(string: "UIKBKeyView")         }).enumerated() {            let view = UIView(frame: keyView.bounds)            view.backgroundColor = colors[i].withAlphaComponent(0.5)            keyView.addSubview(view)        }    }}

Here is a color map of the keys in the UIKBKeyplaneView: