Build adaptive UI for iOS Apps with flow-layout and CSS properties
Objective-C Other
Latest commit 5ab360b Dec 5, 2017 @ideawu ideawu Merge pull request #76 from ideawu/dev
fix IInput bug
Permalink
Failed to load latest commit information.
CocoaUIViewer fix compile waring on xcode 9.1 Nov 13, 2017
IKit.xcodeproj fix compile waring on xcode 9.1 Nov 13, 2017
IKit fix IInput bug Dec 5, 2017
IObj remove RSA Aug 1, 2016
Test fix pull up refresh bug Nov 14, 2017
TestIObj update log Mar 29, 2016
.gitignore update May 9, 2016
ChangeLog update Nov 14, 2017
CocoaUI.podspec 修复Podspec Mar 11, 2016
LICENSE init Jun 16, 2015
README.md update README.md Nov 14, 2017
xml-cocoaui.png update Jul 26, 2016

README.md

CocoaUI

Build adaptive UI for iOS Apps with Flow-Layout mechanism and CSS properties.

Author Platform Language License

AAA BBB
OS iOS 11.x, 10.x, 9.x, 8.x, 7.x
Language Objective-C, Swift(see https://github.com/XiaoCC/CocoaUI-Swift)
License New BSD License
Author ideawu
Website http://www.cocoaui.com/

Demos:

Dependency

  • libxml2

Setup

  1. Download the source files from GitHub: git, .zip
  2. Use Xcode the open the IKit Project
  3. Build the schema IKit-universal, set the schema Build Configuration to Release(default is Debug)
  4. Add the header files folder and static library to you own project(see Quick Start):
  • header files folder: build/release-universal/include/IKit
  • static libarry file: build/release-universal/libIKit.a

Usage

Sample Code(Objective-C)

CocoaUI makes things ass-kicking easy! -

[superview.style set:@"padding: 10;"];

Without CocoaUI, here's the equivalent code you'd have to write using Apple's Foundation API directly:

UIView *superview = self;
UIView *view1 = [[UIView alloc] init];
view1.translatesAutoresizingMaskIntoConstraints = NO;
[superview addSubview:view1];
UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10);
[superview addConstraints:@[
    //view1 constraints
    [NSLayoutConstraint constraintWithItem:view1
                                 attribute:NSLayoutAttributeTop
                                 relatedBy:NSLayoutRelationEqual
                                    toItem:superview
                                 attribute:NSLayoutAttributeTop
                                multiplier:1.0
                                  constant:padding.top],
    [NSLayoutConstraint constraintWithItem:view1
                                 attribute:NSLayoutAttributeLeft
                                 relatedBy:NSLayoutRelationEqual
                                    toItem:superview
                                 attribute:NSLayoutAttributeLeft
                                multiplier:1.0
                                  constant:padding.left],
    [NSLayoutConstraint constraintWithItem:view1
                                 attribute:NSLayoutAttributeBottom
                                 relatedBy:NSLayoutRelationEqual
                                    toItem:superview
                                 attribute:NSLayoutAttributeBottom
                                multiplier:1.0
                                  constant:-padding.bottom],
    [NSLayoutConstraint constraintWithItem:view1
                                 attribute:NSLayoutAttributeRight
                                 relatedBy:NSLayoutRelationEqual
                                    toItem:superview
                                 attribute:NSLayoutAttributeRight
                                multiplier:1
                                  constant:-padding.right],
]];

CocoaUI supports most CSS layout and styling feature, the key of CocoaUI is Flow Layout.

=======

Screenshot

Learning CocoaUI

Documentation

http://www.cocoaui.com/en/docs

CocoaUI C Sharp Binding

https://github.com/shshshdy/CocoauiCsharp

About Source Code

IKit

The CocoaUI library.

IObj

A dynamic JSON object/model library for Objective-C.

Test

Demo app for CocoaUI

CocoaUIViewer

A Write and Seen tool helps you easily develop XML UI.