CUITools 0.9.7

CUITools 0.9.7

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released最后发布2018年6月
SwiftSwift版本3.2
SPM支持SPM

Mohsen Shakiba维护。



 
依赖关系
SnapKit< 4.0.0
DKImagePickerController< 3.8.0
ImageViewer~> 4.0
Kingfisher~> 4.6
 

CUITools 0.9.7

  • 作者
  • mohsenShakiba

CUITools

个人用途的常用UI工具

目录

AlertView

通知用户刚刚发生的操作。

用法

let alertViewProvider = AlertViewProvider(title: String, detail: String, actionTitle: String, type: FlashViewType)
bulletinProvider.present(in: myViewController)

公告

显示带有操作和取消按钮的消息,适合通知用户发生了需要执行操作或取消的情况

用法

let bulletinProvider = BulletinProvider(title: String, detail: String, image: UIImage? = nil, actionTitle: String?, cancelTitle: String?)
bulletinProvider.delegate = self
bulletinProvider.present(in: myViewController)
bulletinProvider.dismiss() // will dismiss the controller
// delegate
func bulletin(actionClicked provider: BulletinAlertProvider)
func bulletin(cancelClicked provider: BulletinAlertProvider)

错误视图

显示错误信息的简单视图,适用于网络断开时使用,在MSTableViewController中用作显示错误视图

let errorView = ErrorView(message: String, image: UIImage?)
// add to msView or subView of UIViewController

通知

通知允许您在窗口顶部显示消息一段时间

用法

let notificationProvider = NotificationProvider(text: "this is a simple notification", type: .sucess)
// will show the notification in the top most window
notificationProvider.presentInWindow()
// will show the notification in the current controller
notificationProvider.present(in: myViewController)

闪现视图

闪现视图显示一个动态视图,可以是成功、错误或自定义视图,可以在调用显示方法之前配置 animationDurationedgeInsets

用法

let flashProvider = FlashProvider(type: FlashViewType)
flashProvider.present()

ImageViewerExtension

ImageViewerExtension扩展UIViewController类,然后调用以下方法

  • presentImage(image: UIImage),该方法会显示包含提供的图像的图库

LoadingButton

用于显示可以转换为加载状态的按钮的视图。

重要提示:最好不设置高度和宽度约束,因为加载动画依赖于内在内容大小

let loadingButton = LoadingButton(title: String, type: LoadingButtonType)

LoadingImageView

该扩展使UIImageView能够异步加载URL。图像随后会调整大小并缩小到边界大小。

imageView.url = "http://test.com/image.jpg"
imageView.cornerToBounds = true // set the radius accordning to bounds
imageView.defaultImage = my_playholder_img // set image for when the UIImageView is empty

LoadingView

显示加载指示器。不需要设置宽度和高度约束,因为提供了内在内容大小。

let loadingView = LoadingView(type: LoadingViewType, color: LoadingViewColorType)

LoadingViewType.normal // size is 40
LoadingViewType.small // size is 25
LoadingViewColorType.default // #CCCCCC
LoadingViewColorType.accent // the accent
LoadingViewColorType.white // #FFFFFF

MSView & MSViewController

该视图允许通过淡入淡出过渡显示多个视图。

let msView = MSView()
msView.animationDuration = 0.5 // duration of animation, default: 0.15
msView.currentView // returns the current visible view
msView.animate(to: nextView)
class MyMSViewControler: MSViewController {

    override viewDidLoad() {
        super.viewDidLoad()
        animate(to: nextView)
    }

}

SelectController

允许用户从提供的视图中选择一个或多个项。

选择选项

用户只能选择一个选项

let provider = SelectOptionProvider<Int>(headerTitle: String? = nil, cancelTitle: String)
provider.appendItem(title: "first option", value: 1)
provider.insertItem(title: "second option", value: 2, at: 1)
provider.present(in: myViewController)
provider.onResult { result in
    switch result {
        case .cancel: break
        case .value(let value): // value is same type as T
        print(value)
    }

选择器

用户可以从选择器视图中选择一个或多个值

let provider = SelectOptionProvider<Int>(headerTitle: String? = nil, cancelTitle: String)
provider.addItem("one", value: 1, component: 0)
provider.addItem("two", value: 2, component: 0)
provider.addItem("three", value: 3, component: 0)
provider.present(in: myViewController)
provider.onResult { result in
    switch result {
        case .cancel: break
        case .value(let value):
            // array containing dictionary [Component: Valye]
            let valueForComponent = value[0]
    }
}

选择控制器

扩展视图控制器以实现SelectImageProtocol,然后实现以下方法

  • func imageSelectionSucceed(images: [UIImage])
  • 调用selectImageController并传递configfunc imageSelectionCanceled()以调用presentSelectImage(config)
let config = SelectImageConfig()
config.selectionCount = 1 //default
config.sourceType: DKImagePickerControllerSourceType = .both // default, means both camera and gallery
config.showCancelButton = true // default
self.presentSelectImage(config: config)

样式

全局样式

已知错误和限制

  • 在BulletinAlert中不能更改图像的大小
  • ErrorView没有操作

作者

mohsenShakiba, [邮箱地址被遮蔽]

许可

CUITools可根据MIT许可获得。有关更多信息,请参阅LICENSE文件。