TAG

iOS

UIViewControllerでSwiftUIのビューを表示する

はじめに みなさんはSwiftUIを使用しているでしょうか。私はまだそこまでちゃんとキャッチアップできておらず、とりあえずはUIKitメインで一部のビューのみSwiftUIにリプレイスしていけば良いかと呑気に考えています。本記事では、UIViewControllerでSwiftUIのビューを表示するために利用できるUIHostingControllerについて説明しています。 UIHostingC […]

iOS15以降でUISearchBarにカスタムフォント(NotoSansJapanese)を指定すると、テキストのベースラインがずれてしまう

はじめに iOS15以降で、UISearchBarのsearchTextField.fontプロパティにNotoSansJapaneseを指定した際に、編集完了するとテキストのベースラインがずれる現象に遭遇したため、原因とその対応についてまとめました。 調べたこと UISearchBarのビュー構造 UIsearchBarのView Hierarchyをデバッグしてみると、テキストが載っているビュ […]

オートレイアウトでtableHeaderView, tableFooterViewを正しくレイアウトする【Swift】

はじめに UITableViewを使用していると、ヘッダーやフッターを実装したい場面は少なくないと思います。tableHeaderViewやtableFooterViewを利用するのがメジャーと思いますが、オートレイアウトで設定するとレイアウトが崩れてしまう場合があります。 この記事では、tableHeadetView, tableFooterViewの使用一例と、オートレイアウトでも正しくレイア […]

UINavigationControllerによる画面遷移のアニメーションを変更する

UINavigationControllerを使用して画面遷移する際、基本的にはプッシュアニメーションが使用されますが、ある特定の画面に遷移するときのみ画面遷移のアニメーションを変更したいときに使えるコードのメモ📝 以下はUINavigationControllerのカスタムクラスを作成し、画面遷移メソッドをオーバーライドしたやり方です。SearchViewControllerというViewCon […]

prepareForReuse()内に書くべきこと【Swift】

はじめに iOSアプリ開発において、UITableViewCellやUICollectionViewCellを利用する場面は多いと思いますが、セルの再利用について考えることは避けて通れません。私はセルの初期化タイミングってこれで良いのだっけと思いつつ、なんとなくprepareForReuse()メソッド内にセルの初期化処理を書いていました。 私と同じように「とりあえずprepareForReuse […]

初めてiOSアプリをリリースしました

開発したアプリについて 「グルめし」という飲食店のルーレット作成アプリを作成しました。検索した地域周辺の飲食点をマップに表示し、ボタン1つでルーレットを作成できます。 アプリのインストールはこちら 開発経緯 iOSアプリ開発の学習を始めたときにその過程で作成し、初めてリリースしたアプリです。iOSエンジニアとして転職する際のポートフォリオとしても活用しました。 主にUIKitを使用し、MVPアーキ […]

カスタムフォントの追加とローカライズ設定の手順【Xcode】

はじめに カスタムフォントの導入とローカライズ設定する機会があり、簡単だったので手順をまとめました。 フォントの追加手順 1. 使用したいフォントの追加 使用したいフォントをXcodeに追加します。(デフォルトで入っている場合は問題ないです)私はGoogleFonts をよく利用しています。デザイナーさんもよく使っていると聞いたのと、オープンソースのフォントを簡単に検索できて、サポートしている言語 […]

画像をカメラロールに保存する【Swift5】

はじめに 画像をiPhoneの”写真”アプリのカメラロールに保存する実装をしたいときがあったのですが、単純にUIImageを保存するとEXIF情報や位置情報が失われてしまいました。 本記事では、まず単純にUIImageをカメラロールに保存する手順を説明し、次にEXIF情報などを保持したまま画像を保存する手順について説明しています。 UIImageの保存 カメラロールにUII […]

【iOS】カメラやBluetoothなどのアクセス許可設定を変更するとアプリが終了する

はじめに iOSアプリでは、カメラやBluetoothなどを使用するときにはシステムへのアクセス許可が必要となります。 こちらをiPhoneやiPadの設定アプリで変更すると、対象のアプリがクラッシュしてしまい焦ったことがあったので、こちらで共有しておこうと思います。 iOSの仕様 結論から言いますと、アプリがバックグラウンドで起動中に、iPhoneの設定アプリでプライバシーなアクセス許可設定(写 […]