Swift UILabelにpaddingをつける

簡単な方法 一番簡単な方法はテキストを中央寄せにして、Label自体のwidth, heightを伸ばすやり方。 label.text = "文字列" label.textAlignment = .center //書き出す文字列にサイズを合わす label.sizeToFit() //余白となるサイズを加える label.frame.siz…

Swift リバースジオコーディングを利用する

CLGeocoderを使うと、緯度経度から簡単にReverse Geocodingすることができる。 Reverse Geocodingの実装 処理は非同期で行うので、完了後のコールバックメソッドに処理結果を引数としたクロージャーを利用すれば応用がきく。 import CoreLocation class MyLo…

Swift MapViewに現在地点を配置する

MapView property User Locationにチェックを入れる。これにチェックを入れると現在地が取得が出来た時に自動で現在地に青丸のannotationが表示される。 info.plist 位置取得に対するPrivacyを定義する。 Privacy - Location When In Use Usage Description:…

Swift MapViewにピンを立てる

Map上のピンはMKPointAnnotationというオブジェクトで管理・表現されている。 ピンを立てる シンプルなピンの場合、MKPointAnnotationをMapViewにaddAnnotationすることですぐに実装できる。 let mapView = MKMapView() let annotation = MKPointAnnotation(…

Swift dismiss時に値を渡してViewControllerを閉じる

遷移元のViewControllerはpresentingViewControllerのオブジェクトに格納されている。 PrevViewControllerから遷移してきたとすると、以下のように記述するとアクセスできる。 let vc = self.presentingViewController as! PrevViewController vc.var1 = "va…

Swift MapViewで長押しした場所のlocationを取得する

てっきりMKMapViewDelegateの中に実装メソッドがあると思ってたら違ってた... UILongPressGestureRecognizerで長押しイベントを検知する必要がある。 let mapView = MKMapView() override func viewDidLoad() { super.viewDidLoad() //長押し時のイベントを…

Swift Viewにジェスチャーリスナーを定義する

View.addGestureRecognizer()を使用する。addするGestureRecognizerはUIGestureRecognizerを継承したオブジェクトとなる。 GestureRecognizerの種類 UITapGestureRecognizer : タップ、ダブルタップ UIPinchGestureRecognizer : ピンチ UIPanGestureRecogniz…