"3+5/2"のような文字列の計算式の答えを求めるには、以下のように書きます。 let expression = NSExpression(format: $計算式文字列$) let result = expression.expressionValueWithObject(nil, context: nil) as? NSNumber resultには、正確な計算式であれ…
しばしブランクが合ったので、UITableViewCellの高さの設定が以前とちがっていました。 忘れないようにメモる。 UITableViewCellの高さが一定ならば、UITableViewのrowHeightプロパティに入れるだけで良い。 let tableView = UITableView() tableView.rowHei…
とっても今更だが、オリジナルの画面遷移ができる方法をしっておきたかったので、 テストがてら簡単なものをつくって自分なりにまとめる。 今回はモーダルで開くときの画面遷移をオリジナルにしたが、 同様のやり方でUINavigationControllerのPush/PopやUITa…
忘れていたのでメモがわり。 selectionStyleを.Noneに設定すればよし。 MyCell.swift override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) self.selectionStyle = .None }
自作クラスである、以下の様なMemberクラスがあったとします。 class Member { let id: String let name: String init(_ id:String, _ name: String) { self.id = id self.name = name } } 同一人物かどうかを判断するために、 以下のように「==」や「!=」で…
表題通りUITableViewのHeaderに高さ可変のHeaderViewをつくります。 TableHeaderViewの中にラベルか何かを表示させていて、 その文字列をレスポンスから引っ張ってきたりして設定するために、 高さを変えなければならない。そんな人向けの記事です。 まずTab…
実はあんまり分かっていなかったので確認。 だいぶはしょって説明すると、 topLayoutGuideは、ステータスバーやナビゲーションバーなどの上部のUIを考慮してレイアウトするもので、 bottomLayoutGuideは、タブバーなどの下部のUIを考慮してレイアウトするも…
willSet, didSetをあまり使っていなかったが、使ってみたら便利だった話。 「currentIndexはgetできる」 「currentIndexはsetすると、その数字を内部で保持し、あるViewの色が変わる」 というようなものを、willSet, didSetを知らない間こんなふうに書いてい…
viewDidLoadが肥大化するのは、可読性が悪くなるのでもう嫌だ。 そしてStoryboardを使うのはもっと嫌だ。 ということで僕も最近では流行りに習って、クロージャを利用してプロパティを初期化しています。 下のような感じ。 class ViewController: UIViewCont…
UICollectionViewはよく使うんですが、 毎度毎度UIFlowLayoutクラスの「この値ってなんだっけ?」状態になるので書きだした。 layout.itemSize// セルの大きさ layout.minimumLineSpacing // 垂直方向のアイテム同士の間隔の最低値 layout.minimumInteritemS…
アプリにAdMob(Google)広告を貼る方法をまとめてみた。 1. 広告IDを取得する 以下リンクから、申し込み > アカウント開設の流れで、 広告IDを取得します。 www.google.co.jp 2. CocoapodsでSDKをプロジェクトに追加 podfileに、以下を記述しGoogle Mobile Ad…
案外、パン(PCでいうドラッグ)でViewがついてくるような処理の書き方を思い出せなかったので、 備忘録的にメモ。 import UIKit class ViewController: UIViewController, UIGestureRecognizerDelegate { var myView: UIView! var myView2: UIView! override …
どんなアプリでもボタンを押したらバックグラウンドの音楽プレイヤーが止まってしまったら不快だ。 ということで、以下のコードを音楽を再生する前に実行しておけば、効果音を流す際に音楽プレーヤーの音を止めずに、 効果音を再生することができる。 do { l…
Swiftでランダムな文字列を取得したいことがあったので調べてみた。 すると以下の様な方法が見つかった。 参考: 【Swift2.x】指定した長さのランダムな文字列を出力する - Qiita func getRandomStringWithLength(length: Int) -> String { let alphabet = "1…
今回は、以下のUIViewのクラスメソッドを試してみました。 iOS4の頃からあるものの、僕は使ったことがありませんでした。 class func transitionWithView(_ view: UIView, duration duration: NSTimeInterval, options options: UIViewAnimationOptions, ani…
UIViewを直接動かすのではなく、ダミー的にUIImageViewを動かすというようなことがやりたかったので、 UIViewをUIImageに変換するExtensionを探しました。 extension UIView { func toImage() -> UIImage? { UIGraphicsBeginImageContextWithOptions(self.fr…
表現力をアップさせたいので、標準で用意されているアニメーション関数を見なおし。 初回は、お馴染みのUIViewの以下クラスメソッドを調べてみた。 extension UIView { public class func animateWithDuration(duration: NSTimeInterval, delay: NSTimeInter…
UIViewのアニメーションの基準点はデフォルトでは中心だが、 アニメーションによっては基準点を端に寄せたりする必要が出てくる。 そんなときはUIViewのlayerプロパティ(CALayer)のanchorPointプロパティを変更する。 view.layer.anchorPoint=CGPoint(0, 0) …
UIAlertControllerでアプリの設定画面を開きます。 こうすることで、ユーザーの手間を少しは省けます。 欲を言うと、「Facebookアプリの設定画面」や「設定アプリのトップ」へ移動させるURLSchemeが欲しかった。 let alertController = UIAlertController( t…
あまりにも自分好みのColor Schemeがなかったので、 Xcodeのプラグイン管理ツール「Alcatraz」を使って、愛するSolarizedDarkに設定してみた。 Alcatrazのインストール方法 curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.s…
Swiftで文字列を逆に変換したいときって・・・そんなにないですよね? 調べ物していたときにたまたま見つけたので、備忘録として残しておきます。 let str = "hoge" let reversedStr = String(str.characters.reverse()) // "egoh"
10進数を2進数・8進数・16進数に変換する時の方法です。 参考: http://stackoverflow.com/questions/26181221/how-to-convert-a-decimal-number-to-binary-in-swift let num = 11 let str2 = String(num, radix: 2) // 1011 let str8 = String(num, radix:…
Swift2.0でも当然シングルトンが書きたい。 [環境]iOS SDK 9.0, Xcode7.0.1 シングルトンの書き方 参考: http://krakendev.io/blog/the-right-way-to-write-a-singleton class Singleton { static let sharedInstance = Singleton() private init() {} } 検…
題通り、SwiftでWebViewを表示させるという基本的なことをやってみました。 [環境]iOS SDK 9.0, Xcode7.0.1 いろんなWebView Objective-CにてUIWebViewをちちくり回していた時代とは異なり、 WKWebView SafariViewController という二つのWebViewが用意され…
SwiftでFacebookログインを実装する方法をまとめました。 環境: MacOSX Yosemite 10.10.5, iOS SDK 9.0, Facebook SDK v4.7.0 参考サイト: http://blog.hello-world.jp.net/ios/3745/ 1. Facebook SDKをDLする FacebookSDKをダウンロードして、~/Documents/F…