mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 09:35:48 +00:00
0e7375ae36
Summary: **Motivation** Fix flickering in TabBarIOS on Apple TV... issue #15081 After this change, on Apple TV, TabBarIOS item selections will be controlled purely from the native side after initial render with the `selected` prop. This is necessary because the `UITabBar` implementation in tvOS moves the selection before calling `shouldSelectViewController:`; this issue does not occur on iOS. **Test plan** Existing CI should still pass. Issue is resolved when testing the example code in #15081 . Closes https://github.com/facebook/react-native/pull/15220 Differential Revision: D5601671 Pulled By: javache fbshipit-source-id: c18e7d3482d6c07d534ff40a443a6f642d4267bb
37 lines
1.0 KiB
Objective-C
37 lines
1.0 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 <UIKit/UIKit.h>
|
|
|
|
#import <React/RCTComponent.h>
|
|
#import <React/RCTConvert.h>
|
|
|
|
@interface RCTConvert (UITabBarSystemItem)
|
|
|
|
+ (UITabBarSystemItem)UITabBarSystemItem:(id)json;
|
|
|
|
@end
|
|
|
|
@interface RCTTabBarItem : UIView
|
|
|
|
@property (nonatomic, copy) id /* NSString or NSNumber */ badge;
|
|
@property (nonatomic, strong) UIImage *icon;
|
|
@property (nonatomic, strong) UIImage *selectedIcon;
|
|
@property (nonatomic, assign) UITabBarSystemItem systemIcon;
|
|
@property (nonatomic, assign) BOOL renderAsOriginal;
|
|
@property (nonatomic, assign, getter=isSelected) BOOL selected;
|
|
@property (nonatomic, readonly) UITabBarItem *barItem;
|
|
@property (nonatomic, copy) RCTBubblingEventBlock onPress;
|
|
|
|
#if TARGET_OS_TV
|
|
@property (nonatomic, assign) BOOL wasSelectedInJS;
|
|
#endif
|
|
|
|
@end
|