Skip to content

Latest commit

 

History

History
167 lines (129 loc) · 3.2 KB

README.md

File metadata and controls

167 lines (129 loc) · 3.2 KB

SwiftGUI

license swift version Carthage Compatible

SwiftGUI is an experimental API inspired by SwiftUI DSL, using Dear ImGui as renderer and running on OSX and iOS.

hellow world

Window("SwiftGUI") {

    Text("Hello world!")

    HStack {
        ForEach(1...2) { val in
            Button("Click \(val)")
        }

        ForEach(1...2) { val in
            CheckBox("Check \(val)", selectedState: true)
        }

        ForEach(1...2) { val in
            RadioButton("Radio \(val)", activeState: true)
        }
    }
}

Highlights

  • Easy to use abstraction for Dear ImGui
  • Multi-platform support (iOS 11+ and macOS 10.13+)
  • Huge list of UI components already available

Theme support

- Color scheme (embedded Darcula and Light)
- Custom Fonts (embedded FiraCode)

Components

- Buttons
- CheckBox
- Color Selection
- ComboBox
- Drag
- Dock
- Image
- TextField
- Lists
- Menu
- Plotting
- Popup
- RadioButton
- SelectableFields
- Sliders
- TabBar
- Texts
- Text Editor (Code editor)
- Tooltips
- Tree
- Window
- General 
    - Group
    - HStack
    - Separator/NewLine/Spacing/Indent
    - ForEach
    - Perform

Installation

Carthage

To integrate SwiftGui into your Xcode project using Carthage, specify it in your Cartfile:

github "erickjung/SwiftGUI" "0.9.3"

For OSX project, run:

carthage update --platform macOS

For iOS project, run:

carthage update --platform iOS

Cocoapods

To integrate SwiftGui into your Xcode project using Cocoapods, specify it in your Podfile:

pod 'SwiftGui', '~> 0.9.3'

run:

pod install

Using SwiftGUI

Mockingbird

Samples

macOS Sample 01 macOS Sample 02 iOS Sample 01

Contributing

Read the Contributing guidelines

License

MIT

Using