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

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

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

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

Swift TextView編集時のキーボードに入力完了ボタンを表示する

イメージ 下記例でいうところのDoneボタンを表示する。 実装 ボタン部分の枠はUIToolbarで表示を行うと非常に楽。キーボードとUIToolbarのjoinはinputAccessoryViewで行える。 override func viewDidLoad() { super.viewDidLoad() // ツールバー生成 サイズ…

Swift Firebase Google Authenticationを導入

Firebase側の設定 ログイン方法 > Googleを有効にしておく。 プロジェクトの公開名は認証画面で表示されるアプリ名となる。 アプリの基本設定 podのインストール pod 'Firebase' pod 'Firebase/Auth' pod 'GoogleSignIn' $ pod install $ open FirebaseChat.…

Swift UIVisualEffectViewにViewを追加する

EffectViewに直接addSubviewしようとすると以下のようなエラーが出る。 let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark)) visualEffectView.addSubview( UILabel() ) Do not add subviews directly to the visual effect vie…

Swift UIImageデータをbase64エンコードする

UIImageデータをbase64エンコードする エンコード let imageData = image.pngData()! as NSData // for jpg //let imageData = image.jpegData(compressionQuality: 0.8)! as NSData let base64String = imageData.base64EncodedString(options: .lineLength…

Swift segueを使わずにstoryboard上のViewControllerにアクセスする

segueを使わずにstoryboard上のViewControllerにアクセスする。 アクセス対象のViewControllerのIdentifierを定義した上で、storyboard?.instantiateViewController()を使用してインスタンスを取得できる。 override func viewDidAppear(_ animated: Bool) {…