swift

【swift】xcode7.1へアップグレートした際のAdMob SDKの対応メモ

はじめに xcode6から7にバージョンアップするときほど、問題は発生しないと思って軽い気持ちでアップグレートしました。 予想通り、ほとんどそのままいけたんですけど、Googleの広告SDKのAdMob SDKの箇所でエラーが出てて、ちょっと詰まったので対応したとき…

【swift】画面遷移をJLRoutesを使ってurlルーティングで管理 by web感覚

はじめに webのフレームワークだと、アクセスされたurlを解析して対象のコントローラを呼び出すっていうのが一般的な処理の流れです。 iosアプリでも同じような形で実装できればコードの見通しがよくなると思って調べてみたのが今回の経緯でした。で、調べて…

【swift】文字列(String型)の末尾の文字を削除する方法メモ

地味にはまったので自分用にメモ // URLの末尾の「?」を削除したい var url = "http://example.com?id=1?" // NSMutableStringにキャストして文字切り出し var _url :NSMutableString = NSMutableString(string: url) _url.deleteCharactersInRange(NSRange(…

【ios】AdHoc(デプロイゲートでの)版プッシュ通知が遅れなくてハマったときのメモ

はじめに 2日間くらいハマりました、、、 理解力が低いのでたぶんリリースのときにまたハマると思いますが、いちおうなんとなく納得したのでメモしておきます Push通知での参考記事 以下の記事はすごいわかりやすいので、このとおりやればできると思います i…

【swift】AFNetworkingで複数ファイルをアップロードする方法メモ

はじめに 余談ですが当初は、ネットワーク系のライブラリはAlamofireを使っていたのですが、xcode7にしてSwift2になったらビルドできなくなりました。Alamofireのバージョンをあげたらビルドは通るようにはなったのですが、ios8以上とういことでした。客の要…

【swift】ViewControllerのdeinitが呼ばれなかったときの対応メモ

はじめに pcにiPhoneをつないでxcodeでcpuやらメモリの使用量やらをリアルタイムに見ることができるのでそれをしました。 画面をひらくたびにメモリ使用量が増えるはわかるんですけど、UiNavigationControllerの戻るとかやってもメモリが減らなくておかしい…

【swift】TTTAttributedLabelでSizetoFitとSizeThatFitsが効かなかったときの対応メモ

はじめに 今回やりたかったのは、 TTTAttributedLabelで生成したラベルにnumberoflinesを設定して高さ可変の対応したときにハマったのでメモしておきます。 解決方法 通常のUILabelだと、以下のコードみたいなかんじでいけたのですが今回はいけませんでした …

【swift】UILable内のurlをリンク化するライブラリ

はじめに TTTAttributedLabelの紹介です今回やりたかったのはラベルで文章を表示して、その中にhttp(httpsも)から始まる文字列があったら HTMLのアンカーみたいなかんじにしてタップされたらブラウザなりWebビューなりを起動する。ということでしたイメー…

【swift】ネットワーク通信状況でのエラー処理を実装する方法メモ

はじめに アプリの場合、インターネットとつながっていない場合の処理を考慮する必要があります。 僕の場合、ある程度アプリを作ってからこのことを考え始めましたが、本来であれば最初から頭にいれて開発を進めるべきだったんですね。で、どうするのがいい…

【swift2】urlを正規表現で解析する方法

はじめに 今回やりたかったのは、カスタムurlスキーマから起動されたときに指定されたurlによって特定の画面を開くとということ。 カスタムurlスキーマについてはあとでまとめます。今回はurlを正規表現で解析する部分をメモします url解析用の関数 たぶん、…

【swift】吹き出しでLINEぽいメッセージアプリのUIを作ったのでメモ

はじめに 今回やりたかったのはこんなかんじの画面です。iosで吹き出しのライブラリとか実装方法とか検索するとちょいちょい出てくるのですが、ちょっと難しかったりで結局自分で実装することにしました。最初は吹き出しの画像を用意してそれを背景にしたUIL…

【swift】UIRefreshControlが動かなくてハマったことメモ

はじめに 今回もまさに超初心者のハマり方をした。 やりたかったのはUITableViewでリスト表示してあるデータを1番上を引っ張ったら最新の情報に更新するっていう 1番最初にみんなやりそうなやつです。Pull To Refreshとかいうのかな 実装方法 けっこういろん…

【swift】UISearchBarのアイコン(虫眼鏡の)を非表示(というか削除)にする方法メモ

やりたかったことはタイトルのとおりなのですが、地味に時間かかりました // UISearchBarを生成 var searchBar: UISearchBar = UISearchBar() for subview in searchBar.subviews { for subview2 in subview.subviews { if var _subview2 = subview2 as? UIT…

【swift】初案件でつかったライブラリまとめ by sns系アプリ

はじめに はじめてアプリ案件を経験していろいろありましたが、実際につかわせていただいたライブラリをメモしておきます。 経験者の方からしたら使いすぎだろっていわれそうですが、、、僕みたいな素人でもつかえたのでおなじような初心者のかたでもつかえ…

【swift】ios7対応でしたことをメモ

はじめに ios8のことしか考えずに開発を進めて、ios7もまだまだ利用者がいるので当然対応してあるはずですよね? ということで即席で対応中です。まだ途中なんですけど、とりあえずこれをやったら形になったということをまとめておきます ・UINavigationBar…

【swift】無限スクロールするUItableViewを実装する方法メモ

はじめに 今回やりたかったのは、またありがちなこんな感じの画面です。 といってもやりたかったのは、こちらで書いた内容をコードレベルにしたもので。 【swift】uitableviewが重いときに対処すべき2つのこと - とりあえずphpとかUITableViewを使うときにパ…

【swift】uitableviewが重いときに対処すべき2つのこと

はじめに 今回やりたかったのは、twitterのタイムラインみたいな無限スクロールを軽くしたいということ。今までも重いのは知ってたんだけど放置してきましたが、いよいよ開発も終盤にさしかかってきてパフォーマンスやら細かい部分も修正しないとならなくな…

【swift】カスタムUIView・カスタムUITableViewCell作り方メモ

自分用にメモ UIView、UIButton、UIImageView・・・ class CustomView: UIView { override init(frame: CGRect) { super.init(frame: frame) } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } } UITableViewCell class CustomTabl…

【swift】fabricでtwitter投稿する方法メモ

はじめに まず事前準備でやることは以下 1. こちらのtwitter公式のfabricにユーザ登録(返信メールが遅かったりサイトが全部英語だったり地味にはまった)2. fabricからsdkをダウンロードしてインストール3. sdkをプロジェクトに組み込む(xcode)4. twitter…

【swift】UIButtonひな型

アプリ開発してると、サンプルアプリ作ってみてうまくいったら開発中のアプリに組み込むっていうながれが多いんですけど、僕の場合はサンプルアプリつくるさいにとりあえずボタンをおくことが多いんですが、そのボタンをおくのに過去のソースから探して・・…

【swift】UITabBarControllerひな型

これも毎回過去のコードをみてるのでひな型をメモしておきます。 UITabBarController配下にUINavigtionControllerを配置する形です。AppDelegate.swift class AppDelegate: UIResponder, UIApplicationDelegate { ・・・ func application(application: UIAp…

【swift】UITabBarController・UINavigationControllerにタイトルをつける方法メモ

今回はまった状況としては、UITabBarController配下にUINavigationControllerを並べた場合です。TabBarController.swift class TabBarController: UIViewController { override func viewDidLoad() { super.viewDidLoad() uinavigationcontroller1 = UINavig…

【swift】RSKImageCropperを使って画像のトリミング

はじめに 今回やりたかったのは以下の画像のこんな感じのUIです ユーザがアップロードする画像の縦横比が決まっている場合を想定しています。 ユーザのアイコン画像だったら正方形、ページ上部のヘッダー画像だったら縦横比 = 2:1とかです で、最初自作して…

【swift】画像のリサイズとトリミングする方法メモ

画像処理とか座標とか苦手なのですが、必要に迫られて関数を作ったのでメモしておきますリサイズ func resizeImage(image: UIImage, width: Int, height: Int) -> UIImage { var ref: CGImageRef = image.CGImage var srcWidth: Int = CGImageGetWidth(ref) …

【swift】UILabelに下線を引く方法メモ

簡単にできると思ったけど意外とはまったのでメモしておきます。 attributedTextで色々設定できそう。 // UILabelを作成 var label: UILabel = UILabel() ・・・ var text: String = "今日はいい天気だ。明日は雨だ" var attributeText = NSMutableAttribute…

【swift】ログイン・ログアウト処理

はじめに 今回やりたかったのは、ありがちなログイン・ログアウト処理。 初回起動時にログイン画面を表示。1度ログイン後は次回起動時にもログイン画面は表示しないということ。方法としてはuserDefaultsという端末のストレージにログイン状態を保存しておく…

【swift】画面に非表示でpushViewControllerする方法

はじめに やりたかったことを文字にすると非常にわかりずらいのですが、以下のことになります1. 画面Aを表示 2. 画面B(入力画面)へ遷移 3. 2.からの戻るボタンで画面C(一覧画面)へ遷移わかりずらいですが、表示してない画面に戻るということになります …

【swift】UITextViewでリアルタイム文字数チェック

はじめに やりたかったのはタイトルの通り。javascriptでやるような感覚でいけました ひな型的に自分用にメモしておきます 実装 class SampleViewController: UIViewController, UITextFieldDelegate { var textField: UITextFiled = UITextField() var labe…

【swift】popViewControllerAnimatedで複数前の画面に戻る方法メモ

はじめに 今回やりたかったことは、uinavigationcontrollerで1つ前の画面でなくて複数前の画面に戻ることでした。 で、設計にも関わるのですが、その画面に戻る前にプロパティなどを設定してからもどるということでした。 実装 // 1つ前のviewContorollerな…

【swift】画面遷移でパラメータを引き継ぐ方法

やりたかったこと webというか(php)でいえば、$_GET、$_POSTでパラメータで画面間でパラメータを引き回す方法をメモ。 実装 たいていの画面で画面遷移はあるので、BaseViewControllerみたいのをつくって共通の関数を用意しておくと楽だとおもいましたAppDele…