xyk blog

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

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

UIImage の画像を単色で塗りつぶす

検証環境: Xcode 12.2 Swift 5.3.1 UIImage の画像を単色で塗りつぶす方法について。 元画像 変更後 UIImageView と一緒に使って変更する UIImage を UIImageView にセットして一緒に使う場合は、UIImage のRenderingMode.alwaysTemplateの指定とUIImageView…

Xcode 関連ファイルを定期的に削除する

検証環境: Xcode 12.2 Swift 5.3.1 Xcode のキャッシュファイルなどの関連ファイルはかなりのディスクスペースを消費するので定期的に削除するほうがよい。 DerivedData 中間生成ファイル。アプリ単位でビルド時に作成される。 ビルドが突然できなくなった場…

Carthage で The file couldn't be saved. Command PhaseScriptExecution failed with a nonzero exit code のエラー

検証環境: Xcode 12.2 Swift 5.3.1 最近、Carthage でビルドをしていると以下のエラーが出てビルドできなくなる現象がちょくちょく発生していた。 The file couldn't be saved. Command PhaseScriptExecution failed with a nonzero exit code こちらの issu…

マップ(MKMapView)上のある座標が円領域内に含まれるかどうかを判定する方法

検証環境: Xcode 12 Swift 5.3 マップ(MKMapView)上のある座標が円領域内に含まれるかどうかを判定する方法。 CLCircularRegionを使うと簡単にできる。 import MapKit // 対象の座標(CLLocationCoordinate2D) let location = CLLocationCoordinate2D(latitud…

マップ上に追加した MKCircle やMKPolygon などの領域内にある座標かどうかを判定する方法

検証環境: Xcode 12 Swift 5.3 マップ(MKMapView)上にオーバーレイしたMKCircleやMKPolygonなどの領域内にある座標かどうかを判定する方法。 座標の緯度経度はCLLocationCoordinate2Dで扱っているとする。 マップ上に MKCircle や MKPolygon の図形をオーバ…

表示中のマップ(MKMapView)領域内に含まれている座標かどうかを判定する

検証環境: Xcode 12 Swift 5.3 まずMapKitをインポートしておく。 import MapKit MKMapRect を使う ある座標が表示中のマップMKMapView領域内に含まれているかで判定する方法。 座標の緯度経度はCLLocationCoordinate2Dで扱っているとする。 表示中のマップ…

UIView 同士が重なっているかいないかを判定する方法

検証環境: Xcode 12 Swift 5.3 UIView 同士が重なっているかいないかを判定する方法について。 CGRect#intersects(_:)メソッドで2つの CGRect が交差するかどうかを判定することができる。 UIView の Extension として以下のように追加した。 extension UIVi…

MKMapView 上のタップした地点を中心にして正方形を描く

検証環境: Xcode 12 Swift 5.3 前回は地図上(MKMapView)に円を描画したが、今回は正方形の矩形を描画してみる。 まずMapKitをインポートしておく。 import MapKit MKMapView にUITapGestureRecognizerを追加してタップを検出する。 let tapGesture = UITapGe…

MKMapView 上のタップした地点を中心にして円を描く

検証環境: Xcode 12 Swift 5.3 地図上(MKMapView)に図形を描画するためにはMKOverlayプロトコルに適合したオブジェクトをMKMapView#addOverlayメソッドで追加する必要がある。 まずMapKitをインポートしておく。 import MapKit MKMapView にUITapGestureReco…

Swift で UITextView のテキスト内のURLをリンク化する

検証環境: Xcode 12 Swift 5.3 UITextView のテキスト内のURLをリンク化するには、isSelectableプロパティをtrue、そしてdataDetectorTypesプロパティに.linkを指定すればよい。 これでURL部分がリンク化され、リンクをタップすると Safari で開くようになる…

Swift で UILabel、UITextView の行間を広げる

検証環境: Xcode 12 Swift 5.3 UILabel や UITextView で複数行のテキストを表示する場合、デフォルトでは行間がかなり狭い。 行の間隔を広げるには、UILabel、UITextView のどちらもattributedTextプロパティにNSAttributedString.KeyのparagraphStyle属性…