https://github.com/jaywcjlove/swiftui-texteditor
An enhanced version similar to `TextEditor`, aimed at maintaining consistency in its usage across iOS and macOS platforms.
https://github.com/jaywcjlove/swiftui-texteditor
ios macos swift swift-package-manager swiftui swiftui-package texteditor
Last synced: 8 months ago
JSON representation
An enhanced version similar to `TextEditor`, aimed at maintaining consistency in its usage across iOS and macOS platforms.
- Host: GitHub
- URL: https://github.com/jaywcjlove/swiftui-texteditor
- Owner: jaywcjlove
- Created: 2024-03-25T20:19:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-28T14:39:42.000Z (8 months ago)
- Last Synced: 2025-04-29T16:28:22.496Z (8 months ago)
- Topics: ios, macos, swift, swift-package-manager, swiftui, swiftui-package, texteditor
- Language: Swift
- Homepage: https://wangchujiang.com/swiftui-texteditor/documentation/texteditorplus/texteditorplus
- Size: 1.75 MB
- Stars: 30
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
SwiftUI TextEditorPlus
===
[](https://jaywcjlove.github.io/#/sponsor)
[](https://github.com/jaywcjlove/swiftui-texteditor/actions/workflows/ci.yml)
[](https://swiftpackageindex.com/jaywcjlove/swiftui-texteditor)
An enhanced version similar to `TextEditor`, aimed at maintaining consistency in its usage across iOS and macOS platforms.
✦ My macOS/iOS application ✦
Welcome to download [DevTutor](https://apps.apple.com/app/devtutor/id6471227008), a cheat sheet app designed to help developers quickly build excellent applications using SwiftUI.
## Installation
You can add MarkdownUI to an Xcode project by adding it as a package dependency.
1. From the File menu, select Add Packages…
2. Enter https://github.com/jaywcjlove/swiftui-texteditor the Search or Enter Package URL search field
3. Link `Markdown` to your application target
Or add the following to `Package.swift`:
```swift
.package(url: "https://github.com/jaywcjlove/swiftui-texteditor", from: "1.0.0")
```
Or [add the package in Xcode](https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app).
## Usage
```swift
import TextEditorPlus
struct ContentView: View {
@State var text = """
Hello World
"""
@State var isEditable = true
var body: some View {
TextEditorPlus(text: $text)
.textSetting(isEditable, for: .isEditable)
}
}
```
Set text weight and size:
```swift
TextEditorPlus(text: $text)
.font(.systemFont(ofSize: 24, weight: .regular))
```
Set editor padding:
```swift
TextEditorPlus(text: $text)
.textSetting(23, for: .insetPadding)
```
Set editor background color:
```swift
TextEditorPlus(text: $text)
.textSetting(NSColor.red, for: .backgroundColor)
```
Set editor text color:
```swift
TextEditorPlus(text: $text)
.textSetting(NSColor.red, for: .textColor)
```
Set editor placeholder string:
```swift
TextEditorPlus(text: $text)
//.font(NSFont(name: "pencontrol", size: 12)!)
.font(.systemFont(ofSize: CGFloat(Float(fontSize)!), weight: .regular))
.textSetting("Test placeholder string", for: .placeholderString)
```
Manipulate attributed strings with attributes such as visual styles, hyperlinks, or accessibility data for portions of the text.
```swift
TextEditorPlus(text: $text)
.textSetting(isEditable, for: .isEditable)
.textViewAttributedString(action: { val in
let style = NSMutableParagraphStyle()
style.lineSpacing = 5
style.lineHeightMultiple = 1.2
val.addAttribute(.paragraphStyle, value: style, range: NSRange(location: 0, length: val.length))
return val
})
````
## License
Licensed under the MIT License.