mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-11 11:29:03 +08:00
Summary: Several things: * The mess with insets was fixed. Previously we tried to compensate the insets difference with `UITextField` by adjusting `textContainerInset` property, moreover we delegated negative part of this compensation to the view inset. That was terrible because it breaks `contentSize` computation, complicates whole insets consept, complicates everything; it just was not right. Now we are fixing the top and left inset differences in different places. We disable left and right 5pt margin by setting `_textView.textContainer.lineFragmentPadding = 0` and we introduce top 5px inset as a DEFAULT value for top inset for common multiline <TextInput> (this value can be easilly overwritten in Javascript). * Internal layout and contentSize computations were unified and simplified. * Now we report `intrinsicContentSize` value to Yoga, one step before auto-expandable TextInput. Depends on D4640207. Reviewed By: mmmulani Differential Revision: D4645921 fbshipit-source-id: da5988ebac50be967caecd71e780c014f6eb257a
44 lines
1.6 KiB
Objective-C
44 lines
1.6 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/RCTView.h>
|
|
#import <React/UIView+React.h>
|
|
|
|
@class RCTBridge;
|
|
|
|
@interface RCTTextView : RCTView <UITextViewDelegate>
|
|
|
|
@property (nonatomic, assign) UITextAutocorrectionType autocorrectionType;
|
|
@property (nonatomic, assign) UITextSpellCheckingType spellCheckingType;
|
|
@property (nonatomic, assign) BOOL blurOnSubmit;
|
|
@property (nonatomic, assign) BOOL clearTextOnFocus;
|
|
@property (nonatomic, assign) BOOL selectTextOnFocus;
|
|
@property (nonatomic, assign) UIEdgeInsets contentInset;
|
|
@property (nonatomic, assign) BOOL automaticallyAdjustContentInsets;
|
|
@property (nonatomic, copy) NSString *text;
|
|
@property (nonatomic, strong) UIColor *placeholderTextColor;
|
|
@property (nonatomic, strong) UIFont *font;
|
|
@property (nonatomic, assign) NSInteger mostRecentEventCount;
|
|
@property (nonatomic, strong) NSNumber *maxLength;
|
|
@property (nonatomic, assign, readonly) CGSize contentSize;
|
|
|
|
@property (nonatomic, copy) RCTDirectEventBlock onChange;
|
|
@property (nonatomic, copy) RCTDirectEventBlock onContentSizeChange;
|
|
@property (nonatomic, copy) RCTDirectEventBlock onSelectionChange;
|
|
@property (nonatomic, copy) RCTDirectEventBlock onTextInput;
|
|
@property (nonatomic, copy) RCTDirectEventBlock onScroll;
|
|
|
|
- (instancetype)initWithBridge:(RCTBridge *)bridge NS_DESIGNATED_INITIALIZER;
|
|
|
|
- (void)performTextUpdate;
|
|
|
|
@end
|