【iOS】UI系おすすめオープンソースライブラリ
idea_ios_oss_view
スポンサーリンク

画面をリッチにするおすすめUI系ライブラリ

リッチなUIにするためのサードパーティー製ライブラリを紹介

ヒーラー
有名なアプリで使われたり、最近の流行りなどおすすめのオープンソースが知りたい

タブ関連

メニュータブと画面が連動して、手軽に画面を切り替えることができます。YouTubeなどの少数のタブもSmartNewsのような多くのタブも、アニメーション付きで簡単に作ることができます。

XLPagerTabStrip

かなり形が用意されており、タイプを指定して簡単に様々な形式の画面を表現することができます。

説明ViewControllerのコレクションを簡単に切り替えることができるコンテナー用のViewControllerです。横スワイプでViewを移動できます。
LisenceMIT License
URLhttps://github.com/xmartlabs/XLPagerTabStrip
Parchment

カスタマイズがしやすく、様々なメニューを表現することができます。
画面のメモリにも気をつけられており、多くのタブでパフォーマンスを要求される場合に有効です。

説明スクロールに応じて様々なメニュー(インジケーター)を表示しながら、ViewController間をページングして画面コンテンツを表示できます。
LisenceMIT License
URLhttps://github.com/rechsteiner/Parchment

インジケーター関連

通信中やローディングなどの待機中のアニメーション付きインジケータを表示したり、アラートとして簡単なテキストを表示できるようなライブラリです。

PKHUD

手軽にHUDを表示することができるライブラリです。
ブラーやアニメーションによりリッチな表現をすることができます。

PKHUD.gif
説明ブラーがかかったポップアップに、成功やエラー、進捗を示すインジケーターなどいくつものアニメーションが用意されています。
LisenceMIT License
URLhttps://github.com/pkluz/PKHUD
SVProgressHUD

長年愛され続けているHUDの定番です。
アニメーションとテキストを含めて様々な表現が可能です。

How to display a progress indicator overlay/HUD on iPhone? - Stack Overflow
説明進行中のタスクの進行状況を表示することを目的としたクリーンで使いやすいHUDです。
LisenceMIT License
URLhttps://github.com/SVProgressHUD/SVProgressHUD
Toast-Swift

Androidと同じ仕様にしたい場合や、簡単なメッセージを表示するのに重宝するライブラリです。

説明Androidのようなトースト通知をUIViewに追加することができます。ほとんどコード1行で書くことができ、シンプルかつ軽量で、使いやすいことを目的としています。
LisenceMIT License
URLhttps://github.com/scalessec/Toast-Swift
SkeletonView

FacebookやYouTube、Slackなどでも見かけるロード中のアニメーションです。
ユーザーにコンテンツ表示の準備を知らせるとともに、ロードされた後にコンテンツがどのように表示されるのかを直感的に知ることができるため、UX向上に役立ちます。

solid_animated.gif
説明ほとんどのアプリに存在するAPIリクエストやローディングにおける非同期プロセスの待機時間を、ユーザーにストレスなくコンテンツの表示を待機するためのエレガントな方法です。
LisenceMIT License
URLhttps://github.com/Juanpe/SkeletonView

テキスト関連

TTTAttributedLabel

テキスト表示をリッチに装飾表示できるUIlabelのライブラリです。通常の横書きの文字を縦書きにすることもできます。また文字列内にあるリンクを検出してイベントを追加することもできます。

説明属性付きUILabelを作成することができるライブラリです。URL、住所、電話番号、イベント、または交通機関の情報に自動でリンクの埋め込みをすることもできます。
LisenceMIT License
URLhttps://github.com/TTTAttributedLabel/TTTAttributedLabel
TPKeyboardAvoiding

通常、UITextFieldなどテキスト入力が画面の中央下にある場合、キーボードが隠してしまいますが、このライブラリを使えば、キーボードが表示されたときに自動的に画面を押し上げ、テキスト入力欄が隠れないようにしてくれます。

説明iOSのキーボードがテキスト入力の邪魔にならないようにテキストフィールドを移動するために最適化されたライブラリです。
LisenceZlib License
URLhttps://github.com/michaeltyson/TPKeyboardAvoiding

カレンダー関連

FSCalendar

日付を設定するときなど、簡単にカレンダーを表示するのに重宝します。
カスタマイズもしやすく、手軽にスタイルを変えることができます。

fscalendar
説明カレンダー表示をするために最適化されたライブラリです。
LisenceMIT License
URLhttps://github.com/michaeltyson/TPKeyboardAvoiding

グラフ描画関連

Charts

折れ線グラフ、棒グラフ、円グラフやレーダーチャートなど様々な形式のグラフを表示することができます。

説明iOS用のチャートを作成するために最適化されたライブラリです。
AndroidのMPAndroidChartと同様の使い方ができるため、並行開発には最適です。
LisenceApache-2.0 License
URLhttps://github.com/danielgindi/Charts

アニメーション関連

lottie-ios

「Adobe After Effects」で作ったアニメーションをそのまま活用できるライブラリです。
素材を活かしつつリッチで多様なアニメーションを使うことができます。

説明最小限のコードでリアルタイムにベクターベースのアニメーションとアートをネイティブにレンダリングするライブラリです。Android用もあるため、並行開発にも有効です。
bodymovinJSON形式でエクスポートされたアニメーションとベクターをロードしてレンダリングします。Bodymovin JSONは、bodymovinを使用したAfter Effects 、Lottie Sketch Exportを使用したSketch、およびHaikuから作成およびエクスポートできます。
LisenceApache-2.0 License
URLhttps://github.com/airbnb/lottie-ios

追記

ここで紹介しているライブラリをはじめとし、おすすめライブラリを紹介したアプリ「OSS Sampler」を公開しました。

https://apps.apple.com/jp/app/osssampler/id1573572734

トップ画面で、おすすめのピックアップライブラリとCocoa Controls、Swift Package Indexの新着ライブラリを一覧で見ることができます。
それに加え、Instagram、Slack、Amazon Prime Videoなどの主要なアプリで使用されている(使用されていた)ライブラリも合わせて一覧で確認できます。
カテゴリ表示と、同様のライブラリがAndroidにもあるかどうかのマークもついています。

「Cocoa Controls」と「Swift Package Index」はRSSフィードから常に最新の情報を取得します。
ピックアップは今後試しながらどんどん追加できればと思っています。

btn-appstore

スポンサーリンク

Twitterでフォローしよう

おすすめの記事