Swiftpack.co - pixiv/charcoal-ios as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by pixiv.
pixiv/charcoal-ios 1.4.2
Design system library by pixiv
⭐️ 56
🕓 20 weeks ago
iOS macOS
.package(url: "https://github.com/pixiv/charcoal-ios.git", from: "1.4.2")

charcoal-ios ― PIXIV Design System

Usage

SwiftUI

Text("Hello")
  .charcoalTypography20Bold()

Button("OK") {}
  .charcoalPrimaryButton(size: .medium)

UIKit

Storyboard とコードから利用可能です。

let label = CharcoalTypography20()
label.isBold = true
label.text = "Hello"

let buttton = CharcoalPrimaryMButton()
button.setTitle("OK", for: .normal)

Dynamic Type

charcoal-ios はデフォルトで Dynamic Type をサポートしています。この機能を無効にしたい場合は、以下の手順をご参照ください。

SwiftUI

.environment(.sizeCategory, .large) を使用して Dynamic Type レベルを固定します。

Button("Default Button M") {}
    .charcoalDefaultButton(size: .medium)
    .environment(\.sizeCategory, .large)

UIKit

デフォルトでは、CharocalUIKitはUITraitCollectionのpreferredContentSizeCategory属性に従いますので、UITraitCollectionを変更することでSizeCategoryを指定できます。

let trait = UITraitCollection(preferredContentSizeCategory: .large)

setOverrideTraitCollection(trait, forChild: viewController)

その他にも、CharcoalConfig.configUIKit.fixedSizeCategory を使用して Dynamic Type レベルを固定します。

CharcoalConfig.configUIKit.fixedSizeCategory = .large

Installation

Swift Package Manager を使ってライブラリをインストールすることができます。

dependencies: [
  .package(url: "https://github.com/pixiv/charcoal-ios", .upToNextMajor(from: "1.0.0"))
]

Requirements

  • iOS 14+
  • macOS 11+

Documentation

Documentation

Development

Configuration

Xcode configuration DebugMaxDeploymentTarget は、自動化テストの際に IPHONEOS_DEPLOYMENT_TARGET を指定するためだけに使用されます。

SwiftGen

Generate Assets

Run swiftgen command in the charcoal-ios project folder.

swift run --package-path BuildTools swiftgen

SwiftLint

swift run --package-path BuildTools swiftlint

Code Format

swift run -c release --package-path BuildTools swiftformat .

GitHub

link
Stars: 56
Last commit: 3 days ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Related Packages

Release Notes

1.4.2
20 weeks ago

What's Changed

Full Changelog: https://github.com/pixiv/charcoal-ios/compare/1.4.1...1.4.2

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics