All Projects β†’ jVirus β†’ column-text-view-ui

jVirus / column-text-view-ui

Licence: MIT License
πŸ“„ Column Text View is an adaptive UI component that renders text in columns, horizontally [iOS 12, UIKit, TextKit, SwiftUI].

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to column-text-view-ui

SwiftDown
πŸ“¦ A themable markdown editor component for your SwiftUI apps.
Stars: ✭ 203 (+1745.45%)
Mutual labels:  swift-package-manager, spm, swiftui
CurrencyText
Currency text field formatter available for UIKit and SwiftUI πŸ’ΆβœοΈ
Stars: ✭ 124 (+1027.27%)
Mutual labels:  uikit, swift-package-manager, swiftui
SwiftUIKit
πŸ“± UIKit code that is fun to write
Stars: ✭ 71 (+545.45%)
Mutual labels:  uikit, spm, swiftui
SwiftCurrent
A library for managing complex workflows in Swift
Stars: ✭ 286 (+2500%)
Mutual labels:  uikit, swift-package-manager, swiftui
LocalConsole
In-app console and debug tools for iOS developers
Stars: ✭ 595 (+5309.09%)
Mutual labels:  uikit, swiftui
iOS14-Resources
A curated collection of iOS 14 projects ranging from SwiftUI to ML, AR etc.
Stars: ✭ 85 (+672.73%)
Mutual labels:  uikit, swiftui
ecs
A dependency free, lightweight, fast Entity-Component System (ECS) implementation in Swift
Stars: ✭ 79 (+618.18%)
Mutual labels:  swift-package-manager, spm
SwiftUI-Color-Kit
SwiftUI Color Pickers, Gradient Pickers And All The Utilities Needed To Make Your Own!
Stars: ✭ 120 (+990.91%)
Mutual labels:  swift-package-manager, swiftui
ConsoleUI
Rasterize SwiftUI views to images from macOS terminal
Stars: ✭ 52 (+372.73%)
Mutual labels:  swift-package-manager, swiftui
Redux
Manage iOS App state with Redux and Async/Await :)
Stars: ✭ 18 (+63.64%)
Mutual labels:  uikit, swiftui
Columbus
A feature-rich country picker for iOS, tvOS and watchOS.
Stars: ✭ 23 (+109.09%)
Mutual labels:  spm, swiftui
MMActionSheet
An actionSheet view implement with pure swift
Stars: ✭ 25 (+127.27%)
Mutual labels:  swift-package-manager, spm
DNZ.MvcComponents
A set of useful UI-Components (HtmlHelper) for ASP.NET Core MVC based-on Popular JavaScript Plugins (Experimental project).
Stars: ✭ 25 (+127.27%)
Mutual labels:  uikit, ui-component
BottomSheet
Access UISheetPresentationController in SwiftUI on iOS 15 using a simple .bottomSheet modifier.
Stars: ✭ 332 (+2918.18%)
Mutual labels:  uikit, swiftui
SwiftUI-Shapes
Commonly Used Shapes and Utilities In SwiftUI
Stars: ✭ 52 (+372.73%)
Mutual labels:  swift-package-manager, swiftui
SwiftSimctl
Swift client-server tool to call xcrun simctl from your simulator. Automate push notification testing!
Stars: ✭ 50 (+354.55%)
Mutual labels:  swift-package-manager, spm
swift-composable-app-example
Example iOS app built with module composition in mind.
Stars: ✭ 79 (+618.18%)
Mutual labels:  swift-package-manager, swiftui
SwiftGradients
Useful extensions for UIViews and CALayer classes to add beautiful color gradients.
Stars: ✭ 15 (+36.36%)
Mutual labels:  swift-package-manager, spm
Shift
Light-weight EventKit wrapper.
Stars: ✭ 31 (+181.82%)
Mutual labels:  swift-package-manager, swiftui
SheeKit
Customize and resize sheets in SwiftUI with SheeKit. Utilise the power of `UISheetPresentationController` and other UIKit features.
Stars: ✭ 56 (+409.09%)
Mutual labels:  uikit, swiftui

column-text-view-ui Awesome

Build Platform Platform Language SPM License

Last Update: 29/December/2019.

If you like the project, please give it a star ⭐ It will show the creator your appreciation and help others to discover the repo.

✍️ About

πŸ“„ Column Text View is an adaptive UI component that renders text in columns, horizontally [iOS 12, UIKit, TextKit, SwiftUI].

πŸ“Ί Demo

Please wait while the .gif files are loading...

🍱 Features

  • Configurable
    • There are a number of configurable properties and you can use, such as, you can specify the number of columns for the supplied text, specify column spacing, paddings and other properties
  • Adaptive
    • The underlying text container adjusts its size to support the needed amount of space for the supplied text
  • SwiftUI Compatable
    • You can use a dedicated wrapper called ColumnedTextView to use the componet with SwiftUI
  • Ease of Use
    • Instantiate a single instane of ColumnTextView or ColumnedTextView (for SwiftUI ), setup the parent view and supply some text
  • Designable and Inspectable
    • You can use .storyboard or .xib files to configure the component without touching code (well, almost)

πŸ“š Usage

The first thing you need to do is to prepare the UI component. The following example demostrates the programmatic approach, where the component is instantiated without .storyboard or .xib outlets:

// 1
let columnTextView = ColumnTextView(frame: view.bounds, .columns(2))
columnTextView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
columnTextView.backgroundColor = .white
parentView.addSubview(columnTextView)

// 2
columnTextView.attributedText = attributedString
  • (1) The first part is instantiation and setup. Here we have pretty usual things happenning, nothing exotic 🌴. You can specify the way the columns should be created. Here you have two options: to use .absolute(***UInt16***), where the associated parameter is a single column width in points or to use .columns(***UInt16***), where the associated parameter is a positive integer number that specifies the exact number of columns that should be created for the current screen's width.
  • (2) The next part is about the text attachment. You simply create an instance of NSAttributedString, configure it as you'd like and that's it.

You can change the attributedText property, the results will be correspondigly reflected and specify all four paddings for top, right, bottom and left sides of the component.

πŸ— Installation

Swift Package Manager

Xcode 11+

  1. Open MenuBar β†’ File β†’ Swift Packages β†’ Add Package Dependency...
  2. Paste the package repository url https://github.com/jVirus/column-text-view-ui and hit Next.
  3. Select the installment rules.

After specifying which version do you want to install, the package will be downloaded and attached to your project.

Package.swift

If you already have a Package.swift or you are building your own package simply add a new dependency:

dependencies: [
    .package(url: "`https://github.com/jVirus/column-text-view-ui", from: "1.0.0")
]

Manual

You can always use copy-paste the sources method πŸ˜„. Or you can compile the framework and include it with your project.

πŸ™‹β€β™€οΈπŸ™‹β€β™‚οΈ Contributing

Your contributions are always appreciated. There are many ways how you help with the project:

  • You can suggest something
  • You can write additional documentation or sample codes
  • Implement a new feature
  • Fix a bug
  • Help to maintain by answering to the questions (if any) that other folks have
  • etc.

Overall guidelies are:

  • Please, discuss a feature or a major source change/addition before spending time and creating a pool requested via issues.
  • Create a separate branch and make sure that your code compiles and does not produce errors and warnings.
  • Please, don't be upset if it takes a while to review your code or receive an answer.

πŸ‘¨β€πŸ’» Author

Astemir Eleev

πŸ”– Licence

The project is available under MIT Licence

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].