- 運営しているクリエイター
記事一覧
[SwiftUI] Viewをスライドさせて入れ替える
ググっても意外とやりたいアニメーションが見つからなかったので、試行錯誤まとめ。
やりたいことボタンなりスワイプなりでViewを切り替える時に、アニメーションでスライドさせて入れ替えたい。
入れ替え方向は左右両方向をフォローしたい。
実装基本方針はasymmetricでトランジションさせて、insertionとremovalを対称にアニメーションさせます。
実装A
move(edge:)を使
雑にイカちゃんになるアプリを作りました
Splatoon3の発売日も近くなってきましたね。
だからというわけでもないですが、写真を撮影してインクリング風に加工するカメラアプリを作りました。
概要それっぽく髪と眉の色を変えて目に画像を重ねます。
作った画像はシェア・保存できます。
詳しい説明撮影画面
アプリを起動すると撮影画面が表示されます。
写真の撮影にはカメラのアクセスが必要なので、アクセスを要求するダイアログが表示されたら許
[SwiftUI] Menu+キーボード+αでレイアウトが崩れる問題の対応
SwiftUIあるあるのレイアウト崩れです。
ググっても意外と出ないのでメモしておきます。
問題ポップアップメニューを展開するMenuと、キーボード入力を行うTextFieldやTextEditorと、高さが変化するViewを組み合わせた時に、Menuのラベルにおかしな余白が追加されてレイアウトが崩れる。
サンプルコード
TextFieldにフォーカスすると高さが変わるText、TextFi
[SwiftUI] ボタン制御
基本は.disabled()に渡したBool値の切り替えですが、処理中にreturnが混ざったりアニメーションを待ったりすると色々面倒だな、と。
とりあえずプロトコル拡張で書いてみました。
実装disableButton()とenableButton()の定義はプロトコルを採用した側で記述します。
defaultDurationはプロトコル拡張で定数が使えないので計算型プロパティのgetで代
[SwiftUI]とにかくプロンプトでアクセスを要求する
起動時に加えてバックグラウンドからの復帰時等もプロンプトを出す方法。カメラアプリのカメラアクセスとか。
実装SwiftUI App(AppDelegate.swiftとかSceneDelegate.swiftを使わないやつ)です。
import SwiftUIimport AVFoundationstruct ContentView: View { @Environment(\.scen
[Swift]共有シートのプレビューを綺麗にまとめる
ググったりGithub覗いても私にわかるレベルでまとまったサンプルがなかったので、調べた結果のまとめを残しておきます。
やりたいことUIActivityViewControllerのactivityItemsに画像と文字列を渡して、共有シートのプレビューに画像と文字列だけを表示したい。
実装例share()の前半はテスト画像の生成処理です。
if #availableの箇所はiOS15で "'w
[SwiftUI]Image Setの使い方
意外とパッと出てこないので試した結果をメモ。
CIImageの作成がもう少し簡単な方法がないものか。 ■
UIImage
UIImage(named:)
let image = UIImage(named: "ImageSetName")
UIImage(imageLiteralResourceName:)
let image = UIImage(imageLiteralResource
[Swift]CIFilterで縁まで綺麗にぼかしをかける方法
CIGaussianBlurとか使った時に縁が透明になってしまう問題の解決です。
実装こんな感じのフィルターを作ります。
CIGaussianBlur以外のBlurでも要領は同じです。
radiusのデフォルト値10はCIGaussianBlurのデフォルト値からです。
解説ここの記事を参考にしました。
まず基本として、Blur系のフィルターをかけると画像サイズが大きくなるので、最後は入力画
[Swift(iOSアプリ開発)]髮の色をそれっぽく変える処理
黒髪でも金髪でもプログラマブルに一律で処理する方法です。
SemanticSegmentationを使用した処理になりますが、取得するまでの処理は以前のnoteにまとめてあります。
SemanticSegmentationの使用法として真っ先に思いつくのが髪の色を変えることではないでしょうか。
参考としてPhotoshop等のフォトレタッチソフトではどうやって色を変えているのかググってみると「色
[Swift]CIImageの色を想定通りに操作できない時の解決
色の演算が想定通りにいかないとか、(0.5, 0.5, 0.5)がニュートラルグレーにならないとか、そういう時の話です。
問題例えばSemanticSegmentationで取得した髮と肌のmatteを↓のような感じでCIAdditionCompositingフィルタに突っ込んで合成するとします。
直感的には髮と肌の領域が合成されて生え際が綺麗に白になった画像が出力される気がします。
しかし実
[SwiftUI]カメラの撮影結果を待ち受ける
よくある簡単なサンプルから少ししっかりした作りにしたい時の話です。
キューによる非同期とかセマフォを使います。
撮影処理のおさらいまず、基本的なカメラ撮影の流れについて単純化します。
例として撮影用のクラス名をcamera、メソッド名をtakePhoto()としています。
ContentView
--> Button( acition{ takePhoto() } )
Camera: AVC
[Swift]iOS14でenabledSemanticSegmentationMatteTypesを設定すると挙動がおかしくなる問題の解決法
そろそろiOS14にメジャーアプデしてみたら、作成中のカメラアプリでカメラプレビューもAVCapturePhoto取れなくなってハマりました。
photoOutput.enabledSemanticSegmentationMatteTypes = photoOutput.availableSemanticSegmentationMatteTypes
どうもこの一文でenabledSemanti