技術ブログ

プログラミング、IT関連の記事中心

Swift

TableViewの余分なセルの線を消す方法【Swift】

■はじめに TableViewの余分なセルに線画ついていると、ユーザーがタップしてしまう可能性があります。 UXを改善するために、余分なセルの線を消してあげれば、誤認がすくなくなります。 ■手順 以下の処理を記載することで、TabelViewのあまりのセルの線を消…

子Viewを全て削除する方法【Swift】

■はじめに Viewをリフレッシュしたい場合など、子要素のViewを全て削除したい場合があります。 ここでは、その子Viewを全て削除する方法を記載します。 ■手順 以下に、子Viewを削除する関数を記載します。 /// 子Viewを全て削除する処理 /// - Parameter par…

画像ボタンのタップ領域を増やす方法【Swift】

■はじめに 「デザインでは、小さいボタンがいいけど、タップし辛い!」ということがあります。 その際に、ボタンのタップ領域を増やしたいので、ここではその方法を記載します。 ちなみに、「setImage」関数を使用して画像を設定したボタンを前提にしていま…

ビルドタイプに応じた処理【Swift】

■はじめに APIの向き先を、開発環境と本番環境で分ける時など、ビルドタイプに応じて処理を変えたい場合があります。 ここでは、そのビルドタイプ(Debugとそれ以外)に応じた処理分けの方法をまとめます。 ■手順 以下のソースコードでDebug環境とそれ以外(…

LicensePlistライブラリを使用したライセンスの表示【Swift】

■はじめに サードパーティ製のライブラリを使用する際に、MITライセンスや、Apatchライセンスなどのライセンスのルールで、ライセンスの内容を表示することが必要になります。 アプリ内にライセンス表示画面を出すことでも対応できますが、それだと保守が面…

アプリのAppStoreを表示する方法【Swift】

■はじめに アプリの強制アップデートを行わせたい場合など、自分のアプリのAppStoreを表示したいことは、ときどきあります。 ここでは、指定のアプリのAppStoreを表示する方法を記載します。 ※表示したいアプリはリリースされている必要があります。 ■手順 …

アプリバージョンの取得を行う方法(強制アップデート)【Swift】

■はじめに アプリでよくある、最新版のアプリじゃないと、アップデートしてね〜 というようなダイアログを出す場合があります。 これは、最新アプリがあるのに、古いバージョンのアプリを利用されないようにするためには、非常にいい方法です。 ここでは、Ap…

NSMutableArrayのデータをカンマ区切りの文字列に変換する方法【Swift】

■はじめに NSMutableArrayの値をカンマ区切りの文字列に変換する方法を記載します。 CSVでデータを保持したい場合などに利用することがあるかと思います。 ■手順 まずは、NSMutableArray型の変数を作成し、適当なデータを格納します。 var array = NSMutable…

ロガー(Logger)クラスの自作方法【Swift】

■はじめに コンソールログを残したままリリースすると、ログが表示されてしまいます。 APIの情報などをログに出してしまうと、セキュリティ上、問題になるので、開発環境ではログが表示されて、本番環境では表示されないようにロガークラスを作成して管理し…

文字列の空文字チェックとnilチェック【Swift】

■はじめに 文字列の空文字チェックとnilチェックに関して記載します。 TextFieldやTextViewなどで、空文字チェックを行う場合や、オプショナル型のString型の変数のnilチェックを行う前提としています。 ■手順 以下の方法で空文字チェックを行います。 let t…

設定画面に遷移する場合のURLスキームのまとめ【Swift】

■はじめに 本記事では、アプリからiPhoneの設定アプリに遷移する方法をまとめています。 ■手順 以下のソースを記載することで、設定アプリを開くことができます。 if let url = URL(string:"app-settings:path") { UIApplication.shared.open(url, options: …

UIPageControlで横スライドのチュートリアルを作る方法【Swift】

■はじめに 本記事では、「UIPageControl」「UIScrollView」を使用して、横スクロールのよくあるチュートリアル画面を作る方法をまとめています。 使用している画像はサンプルの画像なので、チュートリアルの画像に差し替えて使用してください。 ■手順 ソース…

セミモーダルビューを追加する方法【Swift】

■はじめに 本記事では、「FloatingPanel」のライブラリを使用させて頂き、セミモーダルビューを表示する方法をまとめています。 ライブラリのインストールにはCocoaPodsを使用するため、環境ができていない方は「CocoaPodsのインストール【iOS】」にて環境構…

UserDefaultsに独自クラスの配列を設定する方法【Swift】

■はじめに UserDefaultsには通常は、独自クラスの設定ができません。 そのため、ここでは独自クラスをエンコードして設定する方法を記載します。 ※ついでに、配列として設定する方法を記載していますが、配列にしない場合には、通常のクラス型で設定してくだ…

メソッドに配列を参照渡しする方法【Swift】

■はじめに メソッドの引数に配列を渡す場合には、通常は値渡しになります。 ここでは、「参照渡し」の方法を記載します。 ■手順 メソッドの引数のデータ型に「inout」をつけることで参照渡しになります。 呼び出し元には「&」をつける必要があるので、注意し…

Lottieでアニメーションを実行する方法【Swift】

■はじめに CocoaPodsをインストールしていない方は、「CocoaPodsインストール」よりインストールしてください。 iOSアプリのプロジェクトを作成していること。 ■手順 ターミナルで以下のコマンドを実行し、プロジェクトに移動する。 cd [プロジェクトまでの…

ナビゲーションバーを透過させる【Swift】

■はじめに アプリケーションを開発していると、画像のプレビュー画面などでナビゲーションバーはつけたいけど透明にしておきたい。という場面が出てくる。 ここでは、ナビゲーションバーを透明にする方法と、透明から戻す方法を記載する。※ナビゲーションバ…

一定時間ごとに処理を実行する【Swift】

◾️一定時間ごとに処理 アプリケーションを作成していると、処理を一定時間毎に実行したい場合がある。(1秒毎にデータの更新処理をするなど。) そのような場合に、以下のように記載する事で一定時間毎に処理を実行する事ができる。※以下では、1秒毎の遅延処…

処理を遅延実行する【Swift】

◾️処理の遅延実行 アプリケーションを作成していると、処理を遅延して実行したい場合がある。(データの更新を行なった後、0.5秒後に処理をするなど。) そのような場合に、以下のように記載する事で処理を遅延させることができる。※以下では、0.5秒後の遅延…

画面サイズやステータスバーのサイズ【Swift】

◾️デバイスの各サイズの取得方法 UIをソースコードで実装したい場合や、動的にUIを調整する場合など、ソースコードでUIを変更することはよくあります。その際に、端末のサイズやナビゲーションバーの高さなどを取得したいことがあります。 それぞれのサイズ…

ソースコードで画面遷移【Swift】

■はじめに ボタン押下時の処理などで、ソースコードで画面遷移を実装したいことは多々あります。その際の画面遷移方法を記載します。 ◾️画面遷移 通常の画面遷移の方法を以下に記載します。※遷移先の画面を「SecondViewController」としています。 // 画面遷…

QRコードの生成【Swift】

◾️はじめに チャットアプリのフレンド登録など、様々な場面でQRコードを利用したい事があります。 ・QRコードを読み取り、取得した文字列に応じて処理を行う方法・QRコードを読み取り、取得したURLへアクセスしてAPIを実行する方法 上記の方法を想定してそれ…

QRコードリーダー【Swift】

◾️QRコードリーダーの実装 QRコードを読み取る方法を以下に記載します。読み取った後の処理は各自必要な処理を記載する必要があります。 import AVFoundation import UIKit class CameraViewController: UIViewController, AVCaptureMetadataOutputObjectsDe…

UIButtonを回転させる【Swift】

◾️UIButtonを回転させる 端末を回転させた時などで、表示しているボタンも回転させたい場合があります。その場合のボタンを回転させる方法を以下に記載します。※ボタン以外もほぼ同様の方法で可能です。 端末を回転させた時などで、表示しているボタンも回転…

動画のプレビュー【Swift】

■はじめに 画像は、UIImageViewを使用して画面に表示するだけだが、動画のプレビューはどうやって作ろう?と考える事がある。 ライブラリを使用するという手もあるが、ライブラリを使用しない場合の一般的には以下の方法になるかと思う。・AVPlayerViewContr…

動画や画像の圧縮【Swift】

■はじめに 画像(写真)や、動画(ビデオ)などを扱っていると、容量が大きくてサーバーへのアップロードに時間がかかったり端末の容量の圧迫につながったりと言う事があります。 このような場合に、容量を抑える方法を記載します。 ◾️画像の圧縮(縮小) 画…

Selectorで引数を渡す【Swift】

◾️はじめに アプリを開発していると、データベースから取得したデータを元に、UIButtonを生成する場合など動的にUIButtonを生成する事がある。UIButtonをソースコードで動的に生成する場合、ボタン押下時の処理でSelectorの指定が必要になるが、そのSelector…

端末の回転を検知する【Swift】

■はじめに 端末が回転した時に、何か処理をしたい時ってありますよね?(多くはありませんが。。。) 例えば、カメラで写真を撮る時に、横に傾けて撮影したら横の写真が撮れる!などなど! そんな時に、この方法を試してみてください。 ちなみに、ここでは「…

UserDefaults【Swift】

■はじめに アプリケーションを作成している時に、データを永続的に保存したい場合など、良くありますよね?※私はよくあります!! そんな時に、いくつかデータを保存する方法があります。その中でも今回は、「UserDefaults」について記載します。(他にも、…

UserDefaultsに配列・辞書を設定【Swift】

■はじめに UserDefaultsを使用していると、物足りなくなってきませんか?objective-cでは、簡単に保存できていた配列などがSwiftでは一手間が必要になります。 Swiftで配列などの複雑な型をUserDefaultsに保存する方法として色々方法はありますが、ここではU…