mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
23df1b09a8
Summary: This is similar to https://github.com/facebook/react-native/pull/24995 but for iOS. Motivation: when building a custom Text or TextInput (eg with rich text support), one needs custom text processing logic (turning the JS text value to a `NSAttributedString`). RCTBaseTextShadowView contains `- (NSAttributedString *)attributedTextWithBaseTextAttributes:(nullable RCTTextAttributes *)baseTextAttributes;` https://github.com/facebook/react-native/blob/853c667eb5a66612c33e0786ab6c458dcaee6133/Libraries/Text/BaseText/RCTBaseTextShadowView.m#L78 This method, given `self.reactSubviews` creates and returns an instance of [NSMutableAttributedString](https://developer.apple.com/documentation/foundation/nsmutableattributedstring?language=objc). It's currently possible to override this method in subclasses, but the original implementation reads and writes two cache fields which are private. This PR just changes the access modifiers so that subclasses of `RCTBaseTextShadowView` can also access the caching fields. ## Changelog Not needed I guess. Pull Request resolved: https://github.com/facebook/react-native/pull/25283 Test Plan: This will work just the same - works locally, CI should pass. Differential Revision: D15873741 Pulled By: cpojer fbshipit-source-id: dd26a4241f2ac6c0870b6c302939e2f3b0ecc8ff
28 lines
746 B
Objective-C
28 lines
746 B
Objective-C
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#import <React/RCTShadowView.h>
|
|
|
|
#import "RCTTextAttributes.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
extern NSString *const RCTBaseTextShadowViewEmbeddedShadowViewAttributeName;
|
|
|
|
@interface RCTBaseTextShadowView : RCTShadowView {
|
|
@protected NSAttributedString *_Nullable cachedAttributedText;
|
|
@protected RCTTextAttributes *_Nullable cachedTextAttributes;
|
|
}
|
|
|
|
@property (nonatomic, strong) RCTTextAttributes *textAttributes;
|
|
|
|
- (NSAttributedString *)attributedTextWithBaseTextAttributes:(nullable RCTTextAttributes *)baseTextAttributes;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|