iOS

SnapKItをつかってコードでも簡単にAutoLayout実装

投稿日:

はじめに

こんにちは、nukkyです。
iOSの実装中にコードでもViewを追加したいことは
度々あるとは思いますがその際にAutoLayoutを
コード側で実装するのは正直めんどくさいです。
そこでコードでも簡単にAutoLayoutが実装できるSnapKitを使ってみたいと思います。

なんで今回コード上でAutoLayoutしたかったかは後ほど。

準備

おなじみCarthageを使用します。

Cartfileにこちらを記述します、

今回はSwift3で実装するので以下のバージョンを指定してください。

そうしたら、以下のコマンドでビルドしてください。

実装

準備

まずは「SnapKit」をインポートします。

コード上で追加したいViewを用意します。

用意したViewを表示します。

AutoLayoutを指定

AutoLayoutを指定するには以下のようにします

よく使う制約を書いていくとこんな感じになります

中央寄せはこんな感じ

UIAlertControllerのカスタム

今回「SnapKit」を使いたかった一番の理由は
UIAlertControllerにカスタムViewを使用する際に
AutoLayoutを使いたいからでした。
UIAlertControllerの表示が確定するまで
AlertのViewサイズが不明で、AutoLayoutを使わないと
表示が綺麗に出せなかったのです。
もしかしたら誰かの役に立てるかもしれないし
せっかくなのでここに載せたいと思います。
やっていることはUIAlertControllerにUITextViewをのせています。

さいごに

最初にも書きましたがコードでAutoLayoutを実装するのは
とてもめんどくさいし可読性も悪いですが、「SnapKit」なら
簡単に実装できますし、読みやすいと思うのでコードでAutoLayoutを
実装している方はぜひ使ってみてください。

 

page_footer_300rect




page_footer_300rect




-iOS
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

swift

[Swift]タブの切り替え時にアニメーションが簡単に実装できる「TransitionableTab」

1 はじめに2 準備3 実装4 さいごに はじめに こんにちは、nukkyです。 今回は、UITabBarControllerの切り替え時にアニメーションを実装できるライブラリ「Transitiona ...

swift

[Swift3] スクロールする画面に固定でボタンを表示する方法

1 はじめに1.1 前提条件2 Storyboardの準備3 Controllerの実装3.1 スクロールする画面の実装(TableView)3.2 固定で表示するボタンを配置している画面の実装(Co ...

swift

Swiftでシェア機能や外部アプリ起動の導線を簡単に実装できるライブラリ「SwiftShareBubbles」

1 はじめに2 準備3 実装3.1 表示3.2 用意されているパターン4 さいごに はじめに こんにちは、nukkyです。 今回はSNSでのシェア機能や外部アプリ起動の導線を追加したいときに 簡単に実 ...

swift

[Swift]CSVを読み込みRealmに保存してみる

1 はじめに1.1 前提条件2 準備3 実装4 さいごに はじめに こんにちは、nukkyです。 今回はDBにプリセットなどを用意する際にCSVを使ってRealmで保存して見たいと思います。 前提条件 ...

[初心者向け]Xcodeの使い方(よく使うショートカットキーとエディタ)

1 はじめに1.1 前提条件2 ショートカットキー2.1 コメントアウト2.2 インデント2.3 ファイル内検索2.4 プロジェクト内検索2.5 クリーン2.6 ビルド2.7 ラン3 エディタ3.1 ...

フォロー

follow us in feedly

AppLink

page_side_300rect

2017年7月
« 6月 8月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031 

アプリ情報

目標を達成したい方を応援する、TODOアプリもリリースしております。 下記のアイコンから無料でダウンロードできます。

Web版MyCoach

私たちはより広い方にコーチングを知ってもらいたいと考えています。 下記のサイトにて、コーチの方々を紹介しておりますので、よろしければご覧ください。