ttlog

日々の開発で得た知見の技術メモ。モバイルアプリネタが多いです。

2019-01-01から1年間の記事一覧

SwiftUIで共有メニューを表示する

アプリのコンテンツをメールやSNS等の外部サービスに渡す共有メニューをSwiftUIで表示する方法です。 共有メニュー表示用Viewの定義 UIKitではUIActivityViewControllerを使用して表示するこの共有メニューですが、現状SwiftUIで特に専用のViewがある訳では…

iOSアプリでSystem Imageを使用する(iOS13以降)

iOS13ではSystem ImageとしてSF Symbolsというものが追加され、UIKitのUIImageやSwiftUIのImageから使用出来るようになりました。 使用方法 それぞれ、以下のようにして名前を指定して表示します。 UIKit(UIImage) UIImage(systemName: "xxx") SwiftUI(Image…

UINavigationBarの透明化

まずは透明化/解除のExtensionを作成 public extension UINavigationBar { /// ナビゲーションバーを透明化する func enableTransparency() { setBackgroundImage(UIImage(), for: .default) shadowImage = UIImage() } /// ナビゲーションバーを透明化を解…

256bit乱数を生成する方法

256bitに限った話ではないのですが、大きめの乱数を生成する方法です。 乱数の生成は以下のように様々な方法がありますが、 RandomNumberGenerator arc4random() arc4random_uniform() rand() random() いずれにしても最大で64bitまでしか生成出来ないようで…

UITextViewのパディングを削除する

UITextViewにはデフォルトで若干のパディングが含まれています。このままだとレイアウトに支障をきたす場合もあるので、パディングを削除する方法を記載します。 コードで削除する 以下のようなUITextViewを定義したとして、 @IBOutlet weak var textView: U…

Flutterで画面遷移

Flutterにおける画面遷移の基本です。 以下の2通りの遷移方法があるようです。 直接画面を生成して遷移 ルーティングを定義して名前で遷移 ここで紹介する方法は、iOS的にはNavigationスタイル(Push/Pop)の画面遷移になります。 概要 Navigatorクラスを使用…

GitのリモートURLをクリップボードにコピーする(macOS Only)

リモートリポジトリをcloneする際、既にある別のローカルリポジトリからリモートURLをコピー&ペーストして末尾を少し書き換えてcloneするということをよくやるのですが、 git remote -vでURL表示 マウスで選択して⌘+cでコピー とやっていたので地味に面倒で…