まだどこにもないアプリを作る

アプリ開発でつまづいたところなどを中心に記事にして行きます。

Swift メモ

Swift UIKit TableViewをコードで実装する 最低限のシンプルなコード

コピペで動くと思います。 実機でのシミュレートだと下記のように一番上のセルに"aaa"と表示されます。

Swift TableViewヘッダー部分に謎の空白ができる対策

if #available(iOS 15, *) { tableView.sectionHeaderTopPadding = 0.0//ヘッダー部分に謎の空白ができる対策 } キーワード viewForHeader 下記の記事を参考にさせていただきました。 iOS15のUITableViewHeaderの上部に空白ができる - Qiita

Swift5 音楽を再生しながらでもアプリ内の音声を流す方法

音楽を再生しながらでもアプリ内の音声を流すにはAVAudioSessionCategoryAmbientを設定する必要があるのですがSwiftのバージョンごとに結構書き方が違います。 Swift5対応コードをシェアします。 AVFoundationをインポート import AVFoundation ViewDidLoad…

Swift SwiftUI - Date()で特定の日付を定義

SwiftUI Date 特定 日付 定義 初期値 こういうキーワードで検索してもヒットしにくかったので記事にしました。 以下のコードで2000年1月1日のDate型の変数を定義することができます。 let calendar = Calendar(identifier: .gregorian) let date = calendar.…

swift 現在表示されているセルの最後のインデックスを取得 visiblecells

if let cell = tableView.visibleCells.last{ if let visibleIndexPath = tableView.indexPath(for: cell) { print("現在画面上に見えているセル中で最後のセルのインデックス値:", visibleIndexPath) } } お疲れ様です。 [増補改訂第3版]Swift実践入門 ──…

swift systemImageの大きさを変える方法 システムアイコンの大きさを変える SFSymbolのスケールを変える。

ios - Change a SF Symbol size inside a UIButton - Stack Overflow ↑スタックオーバーフローのQ&Aを参考にさせていただきました。 if #available(iOS 13.0, *) { let config = UIImage.SymbolConfiguration(pointSize: 160, weight: .medium, scale: .larg…

Swift 配列にて特定の要素を全て削除する方法

例えば この配列に含まれている5という数字を全て削除したい場合 var array = [0,1,2,3,4,5,5,6,7] array.remove(value:5) ↑このコードだと一つしか削除されません let a: (Int) -> Bool = { $0 == 5 } array.removeAll(where: a) ↑これで全ての5をいっぺん…

FCM 備忘録 Messaging.messaging().token でAPNsトークンを取得できない時

Messaging.messaging().token { token, error in を FirebaseApp.configure() の前に呼んでいないでしょうか?

swift メモ備忘録 scrollViewの.zoomScaleでエラー

swift scrollViewの.zoomScaleでエラー warning: could not execute support code to read Objective-C class data in the process. This may reduce the quality of type information available. まだScrollViewが準備できていないときに scrollView.zoomSc…

swift メモ UIbuttonのisEnableプロパティはfalseにした後で、TargetActionをつけたらisEnableはTrueになる

UIbuttonのisEnableプロパティはfalseにした後で、TargetActionをつけたらisEnableはTrueになる button.isEnabled = false これをやった後に button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside) をつけてしまうと isEnable が自…

【Swift】 サブスレッドで処理したい時の書き方 参考程度

これでサブスレッドで動いていることになるのか 正直わからないのですが、 とりあえず別スレッドで処理する感じになるようです。 参考程度に書いてみてください。 Thread.detachNewThread { //サブスレッドでの処理 } 間違えていればコメントにてご報告して…

【Swift】for 文の中でUIを変更したりUiから値を取得したりするとその分処理が遅くなる。変数を使った方がいい

こっちよりも var arr = ["a","b","c","d","e"] // var displayString = "" for i in 0..

iOSアプリ開発 - Nendバナー広告をセーフエリアにも対応

Nendバナーアドををセーフエリアにも対応させる方法 この変数をviewDidLoadの上に追加safeAreaTopも一応.... var safeAreaTop:CGFloat = 0.0 var safeAreaBottom:CGFloat = 0.0 viewWillLayoutSubviewsにこのコード書く override func viewWillLayoutSubview…

iOSアプリ開発 - Nendバナー広告を画面の一番上に持ってくる方法

Nendバナーアドを画面の一番上に持ってくる方法 Nend ADはデフォルトだと一番下に表示されます。 //Nendアドバナー func nadViewDidFinishLoad(_ adView: NADView!) { print("delegate nadViewDidFinishLoad:") // 広告のロードが完了してからViewを乗せる場…

Swift - ViewがaddSubViewされているかどうかを調べるメソッド.isDescendant(of:UIView)

override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(true) if label.isDescendant(of: view){ print("既にaddSubViewされています") }else{ print("addSubViewされてい無いのでaddSubViewします。") view.addSubview(label) } } 既にその…

Swift 自分用メモ tableView.allowsSelectionDuringEditing = trueの意味

developer.apple.com 詳しくは一応↑に載っています tableView.allowsSelectionDuringEditing = true にすると tableViewがisEditing(編集画面)の時にtableViewのセルが押せるようになる = isEditingの時でも didSelectRowAtが反応するようになる。 tableVie…

view.frame.sizeとUIScreen.main.boundsの違い

メモ残しておきます。 view.frame.size.width UIScreen.main.bounds.width はそれぞれ異なる view.frame.size.width は端末を横にしても値が不変であるのに対して UIScreen.main.bounds.widthは端末を横にすると 横にした端末のwidthとheightを取得してくれ…