SwiftGUI

SwiftGUI is an API inspired by SwiftUI DSL, using Dear ImGui as renderer and running on macOS 10.13+ and iOS 11+

MIT License

Stars
130

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

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

Samples

Contributing

Read the Contributing guidelines

License

MIT

Using

Package Rankings
Top 9.93% on Cocoapods.org
Badges
Extracted from project README
license swift version Carthage Compatible
Related Projects