MILLEN BOX

音楽好きの組み込みソフトエンジニアによるプログラミング(主にiOSアプリ開発)の勉強の記録

tableView(_:didSelectRowAt:) が呼ばれない場合の原因について調べてみた

私、今まで作成したアプリではあんまりTableViewって使ったことないですが、最近久しぶりに触る機会がありました。 ableViewを使用する場合、ViewControllerにUITableViewDataSourceとUITableViewDelegateを追加して、numberOfRowsInSectionやcellForRowAtな…

Swift4 + Xcode9環境にてUIImageViewの画像が表示されなくなっって一瞬戸惑った話

先日初心者の人にiOSアプリの作成方法を軽くレクチャーすることがあったんですよ。 手始めにStoryboardにてUILabelを貼り付けてテキストの内容を変更したり、 それをコードと関連付けしてプログラムでテキスト内容を変化させたり、 UIButtonを追加して、ボタ…

- [UIApplication delegate] must be used from main thread only

前回に引き続きswift4への対応について書きます。 既存アプリに対するマイグレーションを経た一連の対応後、下記のようなエラーが出てきました。 UI API called from background thread: -[UIApplication delegate] must be used from main thread only わっ…

​ #selector がswift4では使えない? → 使えます

​ みなさんiOS11対応してますか? 私はやっとチョビチョビと始めましたよ。 今回はiOS10で動かしていたswift3ソースを初めて開き、自動変換した時にぶつかった疑問をメモしておきます。 Xcode9を起動してswift3以前のソースを開くとXcodeがマイグレーション…

リリースアプリのアップデート

iOSアプリの開発を始めて2年半経ちました。そして5本のアプリをリリースすることができました。 始めた当初はとにかくリリースすることが精一杯。 それに反して溢れてくるアイデアとの折り合いをつけるのがとても大変でした。 なので出したら出しっぱなし。…

swiftでの配列の初期化方法について

本日は配列の宣言についてメモ書きしておきます。 勘違いからミスってしまって解決するまでの流れを書いていきます。 以下みたいな感じでfor文で配列imageArrayにボコボコ値(UIImage型)を入れていきたい場合を考えます。 for i in 0 ..< numberOfPicture { i…

新しいアプリをリリースしました!名前は「ぼかすん」です。

タイトルの通り、新しいアプリをリリースしました! 「ぼかすん」という名前の画像編集アプリでございます。 ぼかすん - 背景ぼかし & 消したい部分を簡単に隠せるMasaki Horimoto写真/ビデオ無料 関西弁です。「ぼかすやつ」という意味になります。 指でな…

UIButtonにセットした画像のcontentModeが効かない?そんな時の対処方法

お久しぶりの更新です。 通常はいつもMacを使って更新するんですが、実験的にiPhoneのはてなブログアプリからアップしてみます。お見苦しい点ありましてもお許し願いたい!! UIButtonにセットしたUIimageViewの画像のcontentModeが効かない問題 ある日、リ…

try! Swift Tokyo について

とても行きたいイベントがあります。「try! Swift Tokyo」です。 恐らく日本で開催されるSwiftのイベントでは最大のものと思われます。 Swiftのフジロックみたいなもんでしょう。 本日は try! Swift Tokyo について、私のような若輩者目線で書かせて頂こうと…

「ポーン - プロフェッショナルな名言をカウントしよう」をリリースしました

2016/12/21に新しいアプリをリリースしました。 名前は「ポーン - プロフェッショナルな名言をカウントしよう」です。 お友達が名言を言った際にあの「ポーン」音を鳴らし、これによりドヤ感を演出することが出来ます。 また会話の中で何回名言を発言したの…

UIDocumentInteractionControllerを使ってOption Menuを表示する [UIDocumentInteractionController] [share] [swift2.3] [swift3]

前回はInstagramへの投稿をやりましたが、今回は何でもアリのUIDocumentInteractionControllerを使用したOption Menuを表示する方法をメモしておきます。 こんなやつです。 Githubは以下です。 github.com 1. UIDocumentInteractionControllerDelegate ViewC…

URLスキームを使用してInstagramの投稿ボタンを作成する [UIApplication][share][Photos.framework][swift2.3][swift3]

作成中のアプリでInstagramへの投稿ボタンを付けたいと思いました。 しかし、以前Twitter, Facebookへの投稿機能をSocial.frameworkはInstagramへの投稿機能はありません。 anthrgrnwrld.hatenablog.com 調べたところ、Instagramへの投稿をする方法は大きく2…

swiftでグラデーションがかかったViewを作成する[CAGradientLayer][swift3.0]

今回はグラデーションがかかったViewを作成したいと思います。 現在作成中のアプリで使っていたのですが、ちょっといらないかも...と感じまして、消してしまう前に記録に残しておきます。 githubは以下です。 github.com コードを以下に貼っておきます class…

UIImageの角を丸くするExtension [swift2.2] [UIImage] [CGContextClipToMask]

UIImageの角を丸くしたいと思います。 ネットでザクッと検索をかけると、UIImageViewのCALayer -> cornerRadiusをイジイジすることで実現する方法が多かったのですが、UIImage自体で角を丸くする方法はあんまり出てこなかったので。 とは言いながらやはりネ…

SwiftでUISliderのデザインをカスタマイズする方法 [UISlider] [swift2.2]

今回はUISliderのデザインをカスタマイズする方法を残しておきます。 Githubは以下です。 github.com また今回は、Objective-Cで書かれた以下のページを参考に Storyboard + Swift で作成しました。 lab.dolice.net ポイント & コード Sliderの画像の指定はU…

UIImageとCGImageの違いでハマったこと [pixel] [point] [swift2.2]

以前、UIImageから一部を切り取る方法について本ブログにて書かせて頂きました。 anthrgrnwrld.hatenablog.com ザクッと方法を説明しますと、targetとなるUIImageをCGImageへ変換し、そのCGImageと切り取るrectを指定し、 CGImageCreateWithImageInRect を使…

swiftのzip関数で二つの配列の組み合わせを作成する [swift2.2] [Zip2Sequence]

swiftにはzipという関数で、二つの配列を組み合わせた構造体(のようなもの)を作成することが出来ます。 下の例のコードでは、ランダムなInt型の配列array1とString型の配列array2を組み合わせ、zippedArrayという組み合わせを作成したものです。 let array1 …

swiftで乱数を生成する [swift2.2]

swiftで乱数を発生させる方法についてのメモ。 random() とか arc4random() とか他にも色々ありそうだし、結局何を使えばいいの? て事で調べました。

Swiftでお絵描きアプリを作成する(第4回UIImageのカメラロールへの保存) [Array][swift2.2]

前回に引き続きお絵描きアプリを作成しようと思います。 今回で本シリーズは最終回です。 作成するお絵描きアプリの機能は以下! 拡大が可能!(前々々回済み) ペンの色、太さが変更可能!(前々回済み) Redo/Undoが可能!(前回済み) 描いた絵の保存が可能!(…

Swiftでお絵描きアプリを作成する(第3回Redo/Undoの実装) [Array][swift2.2]

前回に引き続きお絵描きアプリを作成しようと思います。 作成するお絵描きアプリの機能は以下! 拡大が可能!(前々回済み) ペンの色、太さが変更可能!(前回済み) Redo/Undoが可能!(今回) 描いた絵の保存が可能!(次回以降) 前々回はお絵描き部分の実装、前…

Swiftでお絵描きアプリを作成する(第2回ペンの色・太さを変更可能にする) [UISlider][UIButton][UIBezierPath][swift2.2]

前回に引き続きお絵描きアプリを作成しようと思います。 作成するお絵描きアプリの機能は以下! 拡大が可能!(前回済み) ペンの色、太さが変更可能!(今回) Redo/Undoが可能!(次回以降) 描いた絵の保存が可能!(次回以降) 前回は拡大可能なお絵描き部分を作…

Swiftでお絵描きアプリを作成する(第1回お絵描きの実装) [UIScrollView][UIGestureRecognizer][UIBezierPath][swift2.2]

現在作成中のアプリでお絵描き部分の実装しておりまして、その記録を記事として残しておこうと思います。 計3回くらいでまとめようと思っています。 少し高機能な部分はこんな感じ! 拡大が可能! ペンの色、太さが変更可能!(次回以降) Redo/Undoが可能!(…

UIImageを塗りつぶしてみよう [UIImage]

ふとUIImageを塗りつぶしたいと思ったのですがちょっと詰まった為、以下にメモを残しておきます。 以下の記事をがっつり参考にしました。 qiita.com ソースを以下に貼っておきます。 func fillColorWithUIImage(image: UIImage) -> UIImage { let imageSize …

意外と知らない!?UIImageViewを削除する方法 [UIImageView]

UIImageViewを削除する方法...ってどうやるんだっけ?ということがあったのでメモしておきます。 どこかで以下のようにインスタンス化しているUIImageView。 let imageView = UIImageView(image: uiImage) removeFromSuperviewを使用することで削除できます…

extensionを使ってみる [swift2.2]

前回、タップした瞬間に円を描くサンプルを作成しました。 ▶︎ swiftで円を描く [UIGestureRecognizer] [drawInRect] [Context] [swift 1.2] - MILLEN BOX それを見た方から「extensionを使うといいよ〜」とアドバイス頂きましたのでやってみました。 今回は…

swiftで円を描く [UIGestureRecognizer] [drawInRect] [Context] [swift 2.2]

画像イメージを貼り付け表示とかではなく、swiftで円を描く方法のメモです。 今回は前回作成した OekakiGestureRecognizer を使ってタップした瞬間に円を描くサンプルを作成しました。 参考URL: OekakiGestureRecognizer (touchDownを認識するGestureRecogni…

OekakiGestureRecognizer (touchDownを認識するGestureRecognizer) [UIGestureRecognizer]

現在簡単なお絵描き機能を持ったアプリを作成中ですが、その実現方法として当初UIPanGestureRecognizerを使用してタップ・タッチを検出していました。 しかしUIPanGestureRecognizerでお絵描き機能を実現した場合、画面に指を引っ付けて指を動かしたり離した…

ScrollViewのdelegate [UIScrollView]

UIScrollViewにて画像の拡大縮小に対応した時、特定の動作(拡大縮小やスクロールなど)時のみ消したいViewがある!といったことがあるかもしれません。 今回はその実現方法のメモです。 /** 写真の拡大縮小に対応 */ func viewForZoomingInScrollView(scrollV…

Core ImageでBlur画像を作成する(Ver.1 & 2) [CIFilter]

CoreImageにてBlur画像を作成する為の関数についてメモを残しときます。 1. ガウジアンFilter関数 Ver.1 以下は元画像(CIImage)からBlur画像を作成する関数です。 UIImageからCIImageのゲット方法は let imageCIImage = CIImage(CGImage: imageUIImage.CGIma…

Navigation Barをカスタマイズ [UINavigationBar]

かるーくかるーくメモを残します。 本日はNavigationBarのカスタマイズの方法について。 Githubは以下です。 github.com 1. Navigation Barをアニメーションを使って隠す 隠す self.navigationController!.setNavigationBarHidden(true, animated: true) 表…