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

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

Swift

【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…

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 = …

swift SegmentedControlのタイトルをコードで変える

segmentedControl.setTitle("タイトル", forSegmentAt: 0) segmentedControl.setTitle("タイトル2", forSegmentAt: 1) forSegmentAtの数値が変えたいsegmentの番号です

swift layerのアニメーションをリセット

備忘録です progressView.layer.removeAllAnimations() アニメーション途中のUIでもリセットされます。 レイヤーを破棄することにもなるのかな?わかりません。

swift progressViewがTimer内でカクカクになってしまうのを多少マシにする方法

swift progressViewがTimer内でカクカクになってしまうのを多少マシにする方法 DispatchQueue.main.async { self.progressView.setProgress(self.progressView.progress - self.oneProgressUnit, animated: true) } DispatchQueue.main.async {} の中に書く…

Chameleon FrameWorkがswift5で使えない時

github.com こちらを参考にさせていただきましたが、 pod 'ChameleonFramework/Swift', :git => 'https://github.com/wowansm/Chameleon', :branch => 'swift5' でpod installしてください。

swift admobバナー広告位置調整(なんかのUIの上か下に置きたいとき)

adMobバナー広告の位置調整 2021/03/15追記:アダプティブバナーの場合は正常に動作しない可能性があります。 //これ公式サイトにのてっるコードですfunc addBannerViewToView(_ bannerView: GADBannerView) { bannerView.translatesAutoresizingMaskIntoCons…

iOSアプリ開発 アプリ内でのApp Storeへのリンク 日本のストアでしか出していないアプリの場合の対処法

コレは2020年9月26日の記事です。 開発したアプリの宣伝として 他の開発したアプリ内に自分の過去作ったアプリの App Store リンクを貼るのはよくあると思います。 iPhoneなどのApp Storeアプリから自分のアプリを検索して 共有のボタンからコピーして取得し…

swift textViewの文字を入力するごとに保存,セーブなど(予測変換にも対応)

www.hfoasi8fje3.work textViewの文字を入力した時を検知してその度にuserDefaultsなどで保存します。 textFieldの場合は上記の参考サイト様でできるのですがtextViewの場合はaddtargetがtextViewにはつけられなかった?ので とりあえずの対応をします UITex…

swift バックグラウンドの画面でアプリの内容を隠すやり方

developers.goalist.co.jp こちらの記事や UIViewに対してBlur処理を入れる - Qiita こちらの記事を参考にさせていただきました。 プライバシーを保護するためにバックグラウンドの画面でもアプリの画面を見えなくする実装です。 簡易的なものとなっています…

Swift ⌨️のAccessoryViewでUIBarButtonItemのタイトルに文字を設定する方法

キーボードのアクセサリーヴューにtoolbarをつけている人はこういうのがスタンダードな実装かなと思いますが 左側のキャンセルボタンのようにUIBarButtonItem.SystemItem.cancelを設定してしまうと後からタイトルを変更する事ができません なので入力完了ボ…

admobバナー広告の本番が表示できない時の対処一例

バナー広告の本番が表示できない時の対処一例 addBannerViewToView(bannerView) bannerView.frame.size.width = view.bounds.width ←これを追加したら表示されるように バナーVIewをアドサブViewしてから バナーViewの大きさを調整すると なぜか表示ができま…

SwiftyStoreKitエラーThread 1: Assertion failed: SwiftyStoreKit.completeTransactions() must be called when the app launches.

Thread 1: Assertion failed: SwiftyStoreKit.completeTransactions() must be called when the app launches. AppDelegateに書く文を忘れていませんか? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UI…

swift iOS デバイスの向きを検知する。.portraitUpsideDown .faceUp .faceDownも感知できる方法

override func viewDidLoad() { super.viewDidLoad() //回転感知Observer NotificationCenter.default.addObserver(self, selector: #selector(self.rotationChange(notification:)), name:UIDevice.orientationDidChangeNotification, object: nil) } //MAR…

swift 画面回転検知  精度が悪いかなと思った時に考えられること

override func viewDidLoad() { super.viewDidLoad() //回転感知Observer NotificationCenter.default.addObserver(self, selector: #selector(self.rotationChange(notification:)), name:UIDevice.orientationDidChangeNotification, object: nil) } @objc…

swift collectionViewのセルのサイズが変わらないときの一つのヒント

collectionViewのインスペクタで Estimate SizeがAutomaticになっているとセルのサイズを自分で決められないようです。 下のようにカスタムにしたらできるようになることもあります! 頑張りましょう共に

Swiftイヤホン抜き差し感知エラー--Cannot infer contextual base in reference to member 'AVAudioSession'

以下のページなどを参考にして端末にイアホンが刺されたときや抜いたときの処理を実装していましたが、 https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/MediaPlaybackGuide/Contents/Resources/en.lproj/RefiningTheUser…

swift Int配列 小さい順に並び替える

swift var array = [1,0,2,4,3] array.sort() これで出力すると arrayは0,1,2,3,4になると思います swift array 数字 ソート