Edited at

[iOS]UIAlertControllerをSwiftyに扱うライブラリを書いた

More than 3 years have passed since last update.


ライブラリ「SwiftyAlert」を作りました。

ライブラリなんか作ってみたいなーと思い、作ってみました。

- github: simorgh3196/SwiftyAlert

CarthageCocoaPods対応しました。いつも使ってるばっかりだったので、こういう風に作っているのかと勉強になりました。

「SwiftyAlert」UIAlertControllerをSwiftyにメソッドチェーンで設定して、表示することができるマイクロライブラリです。

コード量超絶少ないです。

ライブラリ作成に関しては、「Swiftでライブラリを公開する」を参考にさせてもらいました。


使い方

imporatする


*.swift

import SwiftyAlert



  • Alert


*.swift

Alert(title: "Alert", message: "Simple Alert.")

.addDefault("OK")
.addCancel()
.show(self)


  • ActionSheet


*.swift

Alert(title: "ActionSheet", message: "message", style: .ActionSheet)

.addDefault("Take Photo") { print("take phote") }
.addDefault("Open Library") { print("open library") }
.addDestructive("Delete") { print("delete") }
.addCancel()
.show(self)


  • with TextField


*.swift

var idField: UITextField?

var passwordField: UITextField?

Alert(title: "Alert", message: "Alert with TextField.")
.addDefault("Login") {
print("Try Login.\nID:", idField?.text, "Password:", passwordField?.text)
}
.addTextField { textField in
idField = textField
textField.placeholder = "ID"
}
.addTextField { textField in
passwordField = textField
textField.placeholder = "Password"
}
.addCancel { print("Cancelled") }
.show(self) { print("Completion") }



導入方法

CarthageCocoaPodsに対応しています。

どちらも導入済みとします。


Carthage

Cartfileという名前のファイルを作成。

以下を追加。


Cartfile

github "simorgh3196/SwiftyAlert"


上記を記述したらcarthage updateを実行


CocoaPods

pod initを実行。

できたPodfileを編集。

target_nameは自分のものを利用。


Podfile

platform :ios, '8.0'

use_frameworks!

target 'target_name' do
pod "SwiftyAlert", '~>0.1.0'
end



Manual

SwiftyAlert/Alert.swiftを自分のプロジェクトに追加(importは不要)

or

SwiftyAlert.xcodeprojを自分のプロジェクトに追加(import必要)


最後に

是非使ってみてください。

また、初めてのライブラリの公開のため、色々間違ってたり、コードに問題があるかも??しれません。

プルリクやスター待ってます:)