20210119のiOSに関する記事は5件です。

UITableViewでcellを長押しして画面遷移する

はじめに

UITableViewでcell長押しによる、画面遷移の実装に少し詰まったので、
longPressGestureRecognizerを用いて画面遷移する方法を記載します。

実装方法

まずViewDidloadにてUILongPressGestureRecognizerの宣言を行います。

override func viewDidLoad() {
        super.viewDidLoad()

        // UILongPressGestureRecognizerの宣言
       let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(ViewController.longPress(longPressGestureRecognizer:)))

        // tableViewにrecognizerを設定
        self.view.addGestureRecognizer(longPressRecognizer)
        }

次にcellの長押しが実行された際の処理を記載します。

@objc func longPress(longPressGestureRecognizer: UILongPressGestureRecognizer) {
            // 長押しが開始されたら処理
        if longPressGestureRecognizer.state == UIGestureRecognizer.State.began {
            // peformSegueで遷移先へ移動
            performSegue(withIdentifier: "遷移先のid", sender: self)
        }
    }

参考

UIGestureRecognizerについてはこちらの記事を参考にしました。
UIGestureRecognizerの種類

最後に

ご覧頂き有り難うございました!
ご指摘などありましたら、お気軽にコメントください。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

UITableViewでcellを長押しして画面遷移する

はじめに

UITableViewでcell長押しによる、画面遷移の実装に少し詰まったので、
longPressGestureRecognizerを用いて画面遷移する方法を記載します。

実装方法

まずViewDidloadにてUILongPressGestureRecognizerの宣言を行います。

override func viewDidLoad() {
        super.viewDidLoad()

        // UILongPressGestureRecognizerの宣言
       let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(ViewController.longPress(longPressGestureRecognizer:)))

        // tableViewにrecognizerを設定
        self.view.addGestureRecognizer(longPressRecognizer)
        }

次にcellの長押しが実行された際の処理を記載します。

@objc func longPress(longPressGestureRecognizer: UILongPressGestureRecognizer) {
            // 長押しが開始されたら処理
        if longPressGestureRecognizer.state == UIGestureRecognizer.State.began {
            // peformSegueで遷移先へ移動
            performSegue(withIdentifier: "遷移先のid", sender: self)
        }
    }

参考

UIGestureRecognizerについてはこちらの記事を参考にしました。
UIGestureRecognizerの種類

最後に

ご覧頂き有り難うございました!
ご指摘などありましたら、お気軽にコメントください。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Swift UITextFieldをコードで実装

UITextFieldをコードで実装してみる

swiftというかアプリ開発の入門書をみるとstoryboardにviewをぺたぺたドラッグ&ドロップするやり方ばっかですよね。
それでもいいんですがワンステップ上に上がりたい方のためにコード実装の仕方を記事にします。
まずは変数を定義しましょう。

let textField = UITextField()

この状態でビルドしても何も表示されません。
まあ、変数を宣言しただけなんで当たり前ですよね。
次に、ViewControllerviewに入れましょう。

view.addSubview(textField)

これで追加できました。ビルドしてみましょう。
Simulator Screen Shot - iPod touch (7th generation) - 2021-01-19 at 16.23.12.png
あれ?何も表示されませんね。
実はこれあるにはあるんですが幅も高さも0の状態なんです。
幅や高さを指定してあげましょう。

// .init(x軸方向の位置, y軸方向の位置, 幅, 高さ)
textField.frame = .init(x: 0, y: 0, width: 200, height: 40)
// 画面の真ん中に表示
textField.center = view.center

これで実行すると〜一見何もないように思えますが真ん中をタップすると編集できます。
placeholderも指定してあげましょう。

textField.placeholder = "ここに入力"

これでちゃんと表示されていることが確認できますね。
でも、枠も何もないのはわかりずらいですよね。てことで、枠を追加しましょう。

textField.layer.borderWidth = 1
textField.layer.borderColor = UIColor.black.cgColor

Simulator Screen Shot - iPod touch (7th generation) - 2021-01-19 at 16.33.47.png
できましたね!
あとはもう少し見栄えをよくしましょう。

// 角を丸くする
textField.layer.cornerRadius = 5
// border線と文字が近すぎるから少し離す
textField.leftView = UIView(frame: .init(x: 0, y: 0, width: 5, height: 0))
textField.leftViewMode = .always

これでビルド!
Simulator Screen Shot - iPod touch (7th generation) - 2021-01-19 at 16.37.43.png
いい感じに角も丸くなってボーダー線と文字の間にも隙間ができていますね。

textFieldのあれこれ

//勝手に英語のスペルを正しいのにする機能をoff
textField.autocorrectionType = .no
//勝手に英語の先頭の文字を大文字にするのをoff
textField.autocapitalizationType = .none
// fontサイズを変更
textField.font = .systemFont(ofSize: 18)
// textFieldを編集モードにする
textField.becomeFirstResponder()
// textFieldの編集モードを解除する
textField.resignFirstResponder()

やりたいことに応じてつかってみてください。
今回はここまでにします。
読んでくださりありがとうございます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【備忘録】UnityでARFoundation使ってARアプリ(iOS)作る際に、なぜかスマホのカメラが起動せずスマホの画面が黒いままの現象について

Unity: 2019.4.13f1
Mac : BigSur 11.1

表題について、忘れずにメモ
前提として、ヒエラルキーに
ARSessionOrigin
ARSession
は、追加していること
また、デフォルトでついてくるカメラのオブジェクトは消していること

下記やったことまとめ
・ARSessionOringin配下のAR CameraのTagをMainCameraに変更
・File > Build Settings >Player Settings > Playerを変更
 ・Other SettingsのMultiThreadRenderingにチェックをつける
 ・Other SettingsのArchitectureをARM64にする
 ・XR Plug-in Managementをクリックし、Plug-in ProvidersにあるARKitにチェックをつける

で、動いた

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Swift5].gitignoreファイルの作成方法とデフォルトで記述しておくべきコード

.gitignoreとは

要約すると.gitignoreとは、APIKeyなどの他者に知られることで問題が発生する恐れのあるコードをgit(Github)にアップしないファイルを設定するものです。

セキュリティの一環として扱われています。

.gitignoreファイルの作成方法

ターミナルで対象プロジェクトのディレクトリに移動して以下コマンドでファイル作成

% touch .gitignore   

作成したファイルを以下コマンドで開く

% open .gitignore     

開いたファイルに以下コードを記述

# Xcode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate

# CocoaPod
Pods/*

# others
*.swp
!.gitkeep
.DS_Store

また、開発の途中で(すでにgitにコミットしていた場合).gitignoreを作成する場合は、
以下コマンドで一度全てのファイルをgitの対象外に設定

 git rm -r --cached .

次に、改めてgitの対象に設定

git add . 

この二つのコマンドを実行することで開発途中からでも.gitignoreに登録したファイルはアップされなくなる。

もっとも、プロジェクト作成直後に.gitignoreファイルを作成しておくにこしたことはない。

備考

Macのデフォルト設定として.(ドット)から始まるファイルは閲覧できなくなっていおるので、.gitignoreファイルを作成してもFinderなどでは表示されない。(なのでターミナルから開く)

Finder等できっちり確認したい方はMac の Finder で隠しファイルの表示/非表示を切り替える方法を参考にしてください。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む