理想のiOSアプリを求める

全くのプログラミング初心者の私がiOSアプリ開発でつまづいたところなどを中心に記事にして行きます。

Swift

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をいっぺん…

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 toolbarのbutton、barButtonItemをコードで書いているときに位置を調整する方法

hajihaji-lemon.com こちらのサイト様を参考にさせていただきました。 flexible Spaceはよく目にすることも多いですが 今回のはfixedSpaceです。 下のコードだと let flexibleItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, act…

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 エラー】'GoogleUtilities/GULURLSessionDataResponse.h' file not foundの回避方法一例

プロジェクトに入っているFirebase Admob関連のライブラリが原因です プロジェクトに入っているFirebase Adomb関連のPodを全て一回削除します。 削除するには Podfileの文をコメントアウトするだけです。 #pod 'Firebase/Analytics' #pod 'Firebase/Crashlyt…

【swift】 配列から空の要素""を削除

swift配列から空の要素""を削除します。 削除するというよりフィルターをかけています。 下記の配列は 1番目-空 2番目-a 3番目-空白 4番目-タブ になってます。 var arr: [String] = ["","a"," "," "] arr = arr.filter { !$0.isEmpty }//空の要素を削除 pri…

【Swift】特定の文字を削除する方法

【Swift】特定の文字を削除する方法 なぜかいい感じに特定の文字を指定して削除するメソッドが見つからなかったので代わりに置換メソッドを使いましょう。 var str2 = "coffee" str2 = str2.replacingOccurrences(of: "f", with: "") print(str2) 出力結果 -…

【Swift】iOS13からのSystemIcon SFSymbolの太さをコードで変更する方法(UIKit)

こちらのサイト様を全面的に参考にさせていただきました。 How to use system icons in your app - free Swift 5.4 example code and tips SymbolConfiguration(weight:で変えることができます。 //SFSymbolの太さを指定 let boldConfig = UIImage.SymbolCon…

【Swift】BarButtonItemにシステムアイコンを指定する。UIBarButtonSystemItem

意外と手こずりました。 UIBarButttonItemとUIBarButtonSystemItemは違うようです。 ↓がUIBarButtonSystemItemをナヴィゲーションアイテムの右端のボタンに配置するやり方です。 //左上のバーボタンをシェアボタンに let myLeftButton = UIBarButtonItem(bar…

【Swift】フォトライブラリに何らかの変更があったときに検知する方法

Photosフレームワークをインポート import Photos まずPHPhotoLibraryChangeObserverを追加(継承) class ViewController: UIViewController,PHPhotoLibraryChangeObserver{ エラーの赤丸を押せば勝手に出てくる func photoLibraryDidChange(_ changeInstance…

【Xcode】error: Abort trap: 6 (in target '' from project '') のとりあえずの対処法

error: Abort trap: 6 (in target 'プロジェクト名' from project 'プロジェクト名') でなんかわからないけどビルドできなくなってしまいました。 ほぼ心当たりはありません。 Xcode Macの再起動試しましたがダメでした 解決法は こちらのサイト様参考にしま…

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

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

【Swift】Forループの中で重い処理をしたい場合はautoreleasepool{}でメモリ解放。

今までかなりこれを知らなくて苦労していました。 Cleaning Memory Footprint with the Autoreleasepool in Swift | by Oğuz Öztürk | Mediate Labs | Medium ↑こちらのサイト様によりますと For文やwhile文の中で作成されたオブジェクトはforループwhileル…

【Swiftエラー】Invalid parameter not satisfying: [name length] > 0

Storyboardを使わないアプリの作り方をしていたところこのエラーに遭遇しました 回避方法の一例としては Info.PListのここにある StoryBoardをDeleteキーで削除したところ 今回のエラーは消えました

【iOS開発】 サブスクリプション課金 Sandboxアカウントのサブスク管理画面の出し方。

1 2 3 4

【Swift】UIButtonでも文字の自動縮小を使う方法(コードで)

stackoverflow.com 上記のサイト様を参考にさせていただきました。 文字の縮小の機能のことを minimumScaleFactor MinimumFontScale AutoShurink adjustsFontSizeToFitWidth のどれで呼ぶかどうかわからないんだけども 以下のやり方でUIButtonの文字も自動で…

【Swift】 TableViewで特定のセルだけを編集モードにしない方法

TableViewで特定のセルだけを編集モードにしない方法 hachinobu.hateblo.jp 上記のサイト様を参考にさせていただきました。 Objective-Cで書いてあったのでSwiftで書き直します canEditRowAtを使います。 下記の場合はテーブスビューのセクションが2の時の…

【Xcode】【Swift】 TableViewのCellの選択色をなくす方法,透明にする方法(StoryBoard上で)

qiita.com こちらの大変素晴らしい記事を参考にさせていただきました。 2015年のコードですが2021でも使えると思います。 extension UITableViewCell { @IBInspectable var selectedBackgroundColor: UIColor? { get { return selectedBackgroundView?.back…

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…

Swift RealmSwiftにて データモデルのクラス名を"List"にしてはいけない

RealmSwiftにて データモデルのクラス名を"List"にしてはいけない 以下のようなデータモデルで作った class Todo: Object { @objc dynamic var name = "" @objc dynamic var done = "" @objc dynamic var priority = "" @objc dynamic var createdDate = Dat…

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

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

swift 配列 何番目にあるかを取得firstIndex lastIndex

swift 配列 特定の要素が何番目にあるかを検索する方法 let array = ["A", "B", "B", "B", "C", "D"] //先頭から順に探して行って最初に見つかったときの配列番号 let firstIndex = array.firstIndex(of: "B")! //1番最後の要素から順に探して行って最初に見…

Swift UIColorをUserDefaultsで保存する。デモ

Swift UIColorをUserDefaultsで保存する。 UIColorPickerを使用してちゃんと保存できているか確認します。UIColorPickerはiOS14以前では動作しません。 以下少しみづらいかもですが UIColorPickerViewControllerDelegateを継承することを忘れずに class View…

Swift iOS14純正 ColorPickerの使い方 最低限 UIKit

おそらくiOS14から追加されたColorPickerの最低限の使い方を記そうとおもいます。 あまりまだ記事が少なかったので。 まずUIColorPickerViewControllerDelegateを追加してください class ViewController: UIViewController, UIColorPickerViewControllerDele…

Swift iOS13純正 FontPickerの使い方 最低限

おそらくiOS13から追加されたFontPickerの最低限の使い方を記そうとおもいます。 あまりまだ記事が少なかったので。 まずUIFontPickerViewControllerDelegateを追加してください class ViewController: UIViewController,UIFontPickerViewControllerDelegate…

swift Could not cast value of type ‘UIViewController’エラー回避の一例

NavigationControllerでPushViewControllerをを使って画面遷移しようとしたときにこのエラー storyboardの Inherit Modure From Targetのところにチェックが入ってなかったのが原因の一つでした。(写真ではもう入っていますが) 他にも原因あるかもしれません…

Realm Studio でアプリデータを見る 開く iOS開発 

こちらのサイト様 iOSでRealmのデータファイルの場所の見つけ方 - Androidはワンツーパンチ 三歩進んで二歩下がる を参考にさせていただくと ここまではたどり着くかと思います。 これをRealm Studioで開くには default.realmを右クリックして このアプリケ…

swift UIimage の縦と横のピクセル数取得

swift UIimage の縦と横のピクセル数取得 let imageW = self.image?.size.width let imageH = self.image?.size.height (self.imageはUIImage型の変数です。) UIImage情報取得 UIImageサイズの取得 UIImage大きさの取得

swift 枠線と角丸を同時にかけると細い線が入ってしまう問題 .layer.borderColor .layer.borderWidth .layer.cornerRadius 

button.layer.borderWidth = 5 button.layer.cornerRadius = 10 button.layer.borderColor = UIColor.white.cgColor などで枠線と角丸を同時にかけると(背景が白の場合は顕著に) 細い線が入ってしまいます。 これを防ぐには button.layer.masksToBounds = …