xyk blog

最近は iOS 開発の記事が多めです。

2020-08-01から1ヶ月間の記事一覧

Xcode のデバッグ時に `error: Couldn't IRGen expression, no additional error` が発生

検証環境: Xcode 11.4 Swift 5.2 ちょっとどのタイミングででそうなったのか、把握できていないんだけど、Xcode でブレークポイントで止めて、po コマンドで出力しようとしたら error: Couldn't IRGen expression, no additional error が発生して出力できな…

UIImageView の画像に AspectFit を適用した後の画像サイズを知る方法

検証環境: Xcode 11.4 Swift 5.2 UIImageView の画像に AspectFit を適用した後の画像サイズは、AVFoundation の AVMakeRect(aspectRatio:insideRect:) を使うと自分で計算せずに簡単にサイズを知ることができます。 UIImageView の Extension として実装し…

Swift で UIView を穴を開ける

検証環境: Xcode 11.4 Swift 5.2 Swift で UIView の穴を開ける実装を Playground で試してみます。 今回のサンプルはまず画像を配置し、その上に UIView を被せます。 被せた UView の内部に穴を開けることで下の画像が見えるようにします。 また、ついでに…

Swift で UIImagePickerController を使って写真を読み込む

検証環境: Xcode 11.4 Swift 5.2 Swift で UIImagePickerController を使って写真を読み込むための最小コードサンプルです。 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction func h…

UITextField, UITextView 編集時にキーボードで隠れないようにする - Swift Protocol Extension 版

検証環境: Xcode 11.6 Swift 5.2.4 以前にも同様の記事を書いていますが、UITextField, UITextView を UIScrollView (やそのサブクラス、UICollectionView ・UITableView など)上に配置して、contentInset を変化させることでキーボードで隠れないようにしま…

Swift の Protocol Extension 内で Selector を呼び出す

検証環境: Xcode 11.6 Swift 5.2.4 Swift の Protocol Extension 内では @objc をつけたメソッドを実装しても #selector で呼び出しすることはできません。 例えば以下のコードでは NotificationCenter の引数で selector を指定しています。 protocol Keybo…