line break mode
This commit is contained in:
@@ -11,6 +11,11 @@ class RNUITextView: UIView {
|
|||||||
textView.isSelectable = selectable
|
textView.isSelectable = selectable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@objc var ellipsizeMode: String = "tail" {
|
||||||
|
didSet {
|
||||||
|
textView.textContainer.lineBreakMode = self.getLineBreakMode()
|
||||||
|
}
|
||||||
|
}
|
||||||
@objc var onTextLayout: RCTDirectEventBlock?
|
@objc var onTextLayout: RCTDirectEventBlock?
|
||||||
|
|
||||||
override init(frame: CGRect) {
|
override init(frame: CGRect) {
|
||||||
@@ -118,4 +123,19 @@ class RNUITextView: UIView {
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getLineBreakMode() -> NSLineBreakMode {
|
||||||
|
switch self.ellipsizeMode {
|
||||||
|
case "head":
|
||||||
|
return .byTruncatingHead
|
||||||
|
case "middle":
|
||||||
|
return .byTruncatingMiddle
|
||||||
|
case "tail":
|
||||||
|
return .byTruncatingTail
|
||||||
|
case "clip":
|
||||||
|
return .byClipping
|
||||||
|
default:
|
||||||
|
return .byTruncatingTail
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
@interface RCT_EXTERN_MODULE(RNUITextViewManager, RCTViewManager)
|
@interface RCT_EXTERN_MODULE(RNUITextViewManager, RCTViewManager)
|
||||||
RCT_REMAP_SHADOW_PROPERTY(numberOfLines, numberOfLines, NSInteger)
|
RCT_REMAP_SHADOW_PROPERTY(numberOfLines, numberOfLines, NSInteger)
|
||||||
RCT_REMAP_SHADOW_PROPERTY(ellipsizeMode, ellipsizeMode, NSString)
|
|
||||||
RCT_REMAP_SHADOW_PROPERTY(allowsFontScaling, allowsFontScaling, BOOL)
|
RCT_REMAP_SHADOW_PROPERTY(allowsFontScaling, allowsFontScaling, BOOL)
|
||||||
|
|
||||||
RCT_EXPORT_VIEW_PROPERTY(onTextLayout, RCTDirectEventBlock)
|
RCT_EXPORT_VIEW_PROPERTY(onTextLayout, RCTDirectEventBlock)
|
||||||
|
RCT_EXPORT_VIEW_PROPERTY(ellipsizeMode, NSString)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(selectable, BOOL)
|
RCT_EXPORT_VIEW_PROPERTY(selectable, BOOL)
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
@objc(RNUITextViewManager)
|
@objc(RNUITextViewManager)
|
||||||
class RNUITextViewManager: RCTViewManager {
|
class RNUITextViewManager: RCTViewManager {
|
||||||
var textStorage = NSTextStorage()
|
|
||||||
|
|
||||||
override func view() -> (RNUITextView) {
|
override func view() -> (RNUITextView) {
|
||||||
return RNUITextView()
|
return RNUITextView()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
class RNUITextViewShadow: RCTShadowView {
|
class RNUITextViewShadow: RCTShadowView {
|
||||||
// Props
|
// Props
|
||||||
@objc var numberOfLines: Int = 0
|
@objc var numberOfLines: Int = 0
|
||||||
@objc var ellipsizeMode: Int = 0
|
|
||||||
@objc var allowsFontScaling: Bool = true
|
@objc var allowsFontScaling: Bool = true
|
||||||
|
|
||||||
var attributedText: NSAttributedString = NSAttributedString()
|
var attributedText: NSAttributedString = NSAttributedString()
|
||||||
|
|||||||
Reference in New Issue
Block a user