-
UITableViewControllerとUIViewControllerの違いとは?iOS開発での使い分けを徹底解説
UITableViewControllerとUIViewControllerは、iOSのUIKitフレームワークにおける2つの異なるクラスであり、それぞれ異なる目的で使用されます。この記事では、両者の違いと適切な使い分けについて、コード例を交えながら解説します。 UIViewControllerとは UIViewControllerクラスは、ビューコントローラーを管理するクラスで、その画面内で発生するアクションに責任を持ちます。このクラスは、以下のようなビューのライフサイクルイベントを把握しています。 viewDidLoad viewWillAppear viewDidAppear vie
-
【iOS】ナビゲーションバーの背景色を設定する方法|Storyboardとコード両方のやり方を解説
iOSアプリでナビゲーションバーの背景色を設定したい場合、Storyboard上で設定する方法とコードで設定する方法の2通りがあります。それぞれの手順を詳しく解説します。方法1:Storyboardで背景色を変更するStoryboardエディターを使って、ナビゲーションバーの背景色を変更する手順を見ていきましょう。新規プロジェクトを作成し、ViewControllerを選択してNavigation Controllerを埋め込みます(Editor > Embed In > Navigation Controller)。ナビゲーションバーを選択し、Attributes Inspect
-
iOS / iPhoneでWebViewを作成・実装する方法【WKWebViewの使い方】
iOSでWebViewを実装するには? iOSアプリ内でWebページを表示するには、Appleが提供するWebKitフレームワークを使用します。かつてはUIWebViewが広く使われていましたが、現在は非推奨(Deprecated)となっているため、新規開発では後継であるWKWebViewを採用するのが標準的な方法です。 この記事では、WebKit Viewを使って実際にWebViewを作成する手順を、サンプルコード付きで解説します。 実装手順 新しいプロジェクトを作成し、オブジェクトライブラリから「WebKit View」をViewController上にドラッグ&ドロップします。 画面
-
【Swift入門】UITableViewに新しいセルを挿入する方法をわかりやすく解説
UITableViewへのセル挿入の基本UITableViewに新しいセルを挿入するには、まずテーブルビューセルを作成し、その後「cellForRowAt」メソッドを使ってテーブルビューに追加します。セルの作成方法は大きく分けて2つあります。ひとつはStoryboardを使用する方法、もうひとつはUITableViewCellクラスからnib(XIB)ファイルを作成する方法です。本記事では、より手軽なStoryboardを使った手順を紹介します。1. テーブルビューの配置とアウトレット接続まず、ViewController上にテーブルビューをドラッグ&ドロップで配置し、そのアウトレットをVie
-
Swiftでメールに添付ファイルを送信する方法をわかりやすく解説
はじめに:Swiftでメール送信機能を実装するにはiPhoneアプリからメールを送信できるようにするには、iOS SDKが提供しているMessageUIフレームワークをインポートする必要があります。このフレームワークには、標準のメール作成画面を表示できるMFMailComposeViewControllerが含まれており、これを使うことでユーザーはアプリ内から直接メールを送信できます。ここでは、PDFファイルを添付したメールを送信する方法を、手順に沿って解説していきます。手順1:MessageUIフレームワークのインポートとUIの準備まず、アプリ内でMessageUIフレームワークをインポート
-
iPhone 5の画面解像度(640×1136)に対応したアプリ開発・移行の方法
iPhone 5対応アプリ開発の背景iPhone 5が発売された当時、その画面解像度とアスペクト比は従来のiPhone 4とは異なるものでした(640 x 1136ピクセル)。そのため、iPhone 4向けに開発されたアプリを新しいiPhoneへ移行するのは決して簡単な作業ではありませんでした。しかし、その後のiOS 8のリリースにより「サイズクラス」と抽象化された画面サイズの概念が導入され、対応は格段に容易になりました。現在では、Xcodeのストーリーボードエディタを使用すれば、ほぼすべての画面サイズに対応したアプリを開発することができます。ストーリーボードエディタを使う方法以外にも、起動画
-
Swiftでバックグラウンド実行中に現在地を取得する方法【CoreLocation完全解説】
iOSアプリでバックグラウンド状態でも位置情報を継続的に取得したいケースは多くあります。例えば、配達アプリやフィットネスアプリ、ナビゲーション機能などがその代表例です。この記事では、Swiftを使ってバックグラウンドで現在位置を取得し、サーバーへ送信するまでの一連の手順を解説します。 1. Info.plistで必要な権限を設定する まず、ユーザーから位置情報の利用許可を得るために、Info.plistに以下の2つのキーを追加します。 Privacy – Location Always and When In Use Usage Description(常に使用時および使用中のみ): アプ
-
iOS / iPhoneからRESTfulサービス(REST API)にアクセスする方法【Swift】
SwiftでREST APIにアクセスするには、Swift標準のネットワーキング機能であるURLSessionとDataTaskを使って、いくつかの手順を踏む必要があります。 まず「REST」とは、Representational State Transfer(表現状態転送)の略で、Webサービスが従うべき一連の制約を定義したアーキテクチャスタイルのことです。この記事では、SwiftでRESTfulなWebサービスへアクセスする基本的な手順を順番に解説していきます。 手順1:URLSessionオブジェクトを作成する 最初に行うのは、デフォルト設定を使用してセッションオブジェクトを作成するこ
-
SwiftでiOSのカメラから写真を撮影して表示する方法
はじめに:UIImagePickerControllerとAVFoundationの使い分け Swiftでカメラから写真を撮影するには、iOS SDKに含まれるフレームワーク「AVFoundation」を利用することができます。ただし、AVFoundationは高度なカスタマイズが可能な反面、実装が複雑になるため、カスタム機能が大量に必要な場合を除いて使わない方が賢明です。 本記事では、シンプルに「カメラで写真を1枚撮影し、画面に表示する」という処理を実装します。AVFoundationの代わりに、より手軽に扱えるUIImagePickerController(イメージピッカー)を使用しましょ
-
【Swift入門】iOSアプリでボタン(UIButton)の背景色を変更する2つの方法
iOSアプリでボタンの背景色を変更したい場合、UIButtonが持つbackgroundColorプロパティにアクセスします。変更方法は主に2つあり、ひとつはストーリーボード上で設定する方法、もうひとつはプログラム(コード)から設定する方法です。それぞれの手順を詳しく見ていきましょう。方法1:ストーリーボードエディタで設定するもっとも手軽なのは、ストーリーボードから視覚的に設定する方法です。手順:ストーリーボード上にボタンを配置します。ボタンを選択した状態で、右側のユーティリティエリアからアトリビュートインスペクタを開きます。「Background」プロパティを探し、カラーパレットから好きな色
-
UISegmentedControlをコンテナビューにプログラムで追加する方法(Swift)
UISegmentedControlをコードで追加する手順iOSアプリ開発において、UISegmentedControl(セグメントコントロール)をストーリーボードを使わずにプログラムで追加したいケースはよくあります。Swiftでは、まずセグメントコントロールのインスタンスを作成し、その後にタップ時の動作を処理するアクションメソッドを実装します。ここでは、その具体的な手順を順番に見ていきましょう。1. セグメントコントロールを追加する関数を作成するまず、セグメントコントロールを生成してビューに追加するための関数を用意します。func addControl() { let segment
-
SwiftのMapKitで2地点間のルートを表示する方法を解説
はじめにSwiftのMapKitを使って地図上の2つの場所の間にルートを表示するには、まず出発地と目的地の両方の座標(緯度・経度)を取得する必要があります。2地点間のルートを表示する関数両方の場所の座標が用意できたら、以下の関数を使って2点間の経路を表示できます。この例では、2つのランダムな地点を出発地と目的地として使用します。func getDirections(loc1: CLLocationCoordinate2D, loc2: CLLocationCoordinate2D) { let source = MKMapItem(placemark: MKPlacemark(coor
-
iPhoneアプリのアイコンの正確なサイズと角丸のルールを解説
すべてのiPhoneアプリには、さまざまな場面で表示される複数のアイコンが必要です。たとえば、ホーム画面に表示されるアプリアイコン、新着通知が届いたときの通知アイコン、Spotlight検索結果に表示されるアイコン、設定アプリ内で使われるアイコンなどが挙げられます。 アイコン作成時の共通ルール これらのアイコンはそれぞれ表示サイズが異なりますが、共通する基本ルールも存在します。まずは以下の3点を必ず押さえておきましょう。 PNG形式(.png)で書き出すこと フラットな画像にし、透過部分を含めないこと 正方形で作成し、角丸は付けないこと 特に重要なのが角丸の扱いです。iOSではシステム側が
-
【iOS開発】iPhone / iPadのツールバーに「戻る」矢印ボタンを追加する方法
ツールバー上にボタンを作成するには、iOSの2つの異なるコンポーネントと、戻る矢印(バックアロー)画像が必要です。まず、それぞれのコンポーネントが何なのかを見ていきましょう。 必要な2つのコンポーネント Toolbar(ツールバー):iOSネイティブのコンポーネントで、画面下部にアイテムやボタン類を表示するために使用されます。 Bar Button Item(バー ボタン項目):ツールバーやナビゲーションバー上に配置されることが多いボタンです。 ツールバーをStoryboardで配置すると、デフォルトでBar Button Itemが1つ自動的に付属します。これを利用すれば、追加のパーツを
-
デバイスで実行されているiOSバージョンを検出する方法【Swift】
はじめにiOSアプリを開発していると、iPhone端末で実際に動作しているiOSのバージョンを知りたい場面に遭遇することがあります。例えば、特定のバージョン以降でのみ利用できるAPIを使うかどうかを判断したり、OSごとに異なる挙動を実装したりするケースです。この記事では、iOSアプリ内からデバイスで実行中のiOSバージョンを取得する方法を解説します。コードでiOSバージョンを取得するまず、Xcodeで新しいiOSアプリケーションを作成します。次に、ViewControllerのviewDidLoadメソッド内に以下のコードを記述します。print( System version - ,UIDe
-
Cocoa TouchでUIViewの境界線(ボーダー)の色と太さを変更する2つの方法
この記事では、iOSアプリ開発においてViewの境界線(ボーダー)の色や太さを変更する方法を解説します。実現方法は主に2つあります。それぞれの手順と特徴を詳しく見ていきましょう。方法1:コードを直接記述するまずは最もシンプルな方法です。「backView」という名前のビューがあると仮定して、そのビューに境界線の太さと色を設定してみましょう。以下のようにコードを記述します。backView.layer.borderWidth = 5 // 任意の整数値を指定できます backView.layer.borderColor = colorLiteral(red: 0.09019608051, gre
-
iOSシミュレーターで開発中に画像を使用する方法|写真を追加する3つのテクニック
iOSアプリの開発では、さまざまなケースを想定したテストが必要になりますが、常に実機のiPhoneを手元に用意できるとは限りません。例えば、「画像アップロード機能が正しく動作するか確認したいけれど、実機がない」といった場面では、シミュレーター自体に画像を追加してテストを行うのが有効です。幸い、iOSシミュレーターへの画像追加はとても簡単で、複数の方法があります。ここでは、代表的な3つの方法をわかりやすくご紹介します。方法1:ドラッグ&ドロップで追加する(最も手軽な方法)Mac上でシミュレーターアプリを起動します追加したい画像ファイルを選択しますその画像をシミュレーターの画面上へドラッグ&ドロッ
-
iOSシミュレーターのスクリーンショットはどこに保存される?撮影方法別の保存場所まとめ
iOSシミュレーターで撮影したスクリーンショットは、通常、使用しているMacのデスクトップに保存されます。ただし、スクリーンショットの撮影方法によって保存先やファイル名の形式が異なるため、ここでは代表的な3つのケースについて解説します。 シミュレーター本体の機能で撮影した場合 「Command」+「S」キー、またはメニューバーの「File(ファイル)」→「New Screen Shot(新規スクリーンショット)」から撮影した場合、画像はデスクトップに次のような形式のファイル名で保存されます。 Simulator Screen Shot - iPhone 7 Plus - 2018-12-26
-
iPhoneアプリからメールを送信する方法を解説!URLスキームとMessageUIフレームワークの使い方
iOSアプリケーションからメールを送信するには、URLスキーム(URL Scheme)を利用するか、何らかのイベント発生時にメール送信処理を実行する仕組みを組み込む必要があります。実は、アプリ単体で直接メールを送信できるケースは限られており、それが可能なのはメールアプリそのもの、あるいはiOSのMessageUIフレームワークを使用する場合だけです。ただし、宛先や件名があらかじめ入力された状態でメールアプリを起動することは可能です。 本記事では、この2つの方法をそれぞれ詳しく解説していきます。 まずは、iOS標準の「メール」アプリを起動する方法を、具体的な例とともに見ていきましょう。 プロジ
-
【Swift入門】UIUserInterfaceIdiomで現在のデバイス(iPhone/iPadなど)を判定する方法
iOS / Swiftで「現在どのデバイスで動作しているか」を判別したい場合は、UserInterfaceIdiomを利用します。これはSwiftに用意された列挙型(enum)で、アプリが実行されているデバイスの種類を簡単に取得できる便利な仕組みです。 UIUserInterfaceIdiomの列挙値一覧 userInterfaceIdiomは、以下のような複数のケース(case)を持つ列挙型として定義されています。 case unspecified @available(iOS 3.2, *) case phone // iPhoneおよびiPod touchスタイルのUI @avail