mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 09:12:02 +00:00
ddc374fac8
Summary: Hey, I've created a PR a few weeks ago #7264. It got merged in and then I received some emails and got mentioned in a few issues that it doesn't use renderAsOriginal prop on selectedIcon. Instead the app would use tint color. The problem can be seen here #7467. I've now added a method in TabBarItem that sets selectedIcon to renderAsOriginal if the prop is set. I added a "relay" icon to UIExplorer TabBarIOS example so you can see the item is now rendered in color as the image supplied. Oh and also should this PR be made from master. Had to work on this issue from 0.27 because the master was broken for me. Closes https://github.com/facebook/react-native/pull/7709 Differential Revision: D3339795 fbshipit-source-id: d8d4699bb617ecae8996a6627f3774c6473c19e0
38 lines
1.1 KiB
Objective-C
38 lines
1.1 KiB
Objective-C
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import "RCTTabBarItemManager.h"
|
|
|
|
#import "RCTConvert.h"
|
|
#import "RCTTabBarItem.h"
|
|
|
|
@implementation RCTTabBarItemManager
|
|
|
|
RCT_EXPORT_MODULE()
|
|
|
|
- (UIView *)view
|
|
{
|
|
return [RCTTabBarItem new];
|
|
}
|
|
|
|
RCT_EXPORT_VIEW_PROPERTY(badge, id /* NSString or NSNumber */)
|
|
RCT_EXPORT_VIEW_PROPERTY(renderAsOriginal, BOOL)
|
|
RCT_EXPORT_VIEW_PROPERTY(selected, BOOL)
|
|
RCT_EXPORT_VIEW_PROPERTY(icon, UIImage)
|
|
RCT_EXPORT_VIEW_PROPERTY(selectedIcon, UIImage)
|
|
RCT_EXPORT_VIEW_PROPERTY(systemIcon, UITabBarSystemItem)
|
|
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
RCT_CUSTOM_VIEW_PROPERTY(title, NSString, RCTTabBarItem)
|
|
{
|
|
view.barItem.title = json ? [RCTConvert NSString:json] : defaultView.barItem.title;
|
|
view.barItem.imageInsets = view.barItem.title.length ? UIEdgeInsetsZero : (UIEdgeInsets){6, 0, -6, 0};
|
|
}
|
|
|
|
@end
|