tomoyaonishiのブログ

iOSのことを中心に・・・その他もあるよ!

iOS8でコードでのAutoLayoutのやり方が地味に変わっていた件

あけましておめでとうございます。 仕事でAutoLayoutでUIを作っていてなんとなく-[UIView addConstraint], -[UIView addConstraints], -[UIView removeConstraint], -[UIView removeConstraints]の定義を見たところ、deprecatedになっていました。正式なdepr…

AutoLayoutでスワイプできるUITableViewCellを実装する

AutoLayoutを使ってセル上を左にスワイプすると、セルの右側がオープンするUITableViewCellを実装してみます。セルの削除のときによく出てくるあれを自分で実装する感じです。 AutoLayoutやstoryboardにある程度知識がある方を前提としていますので、適宜不…

UITableViewCellの高さを自動で計算する: UITableViewAutomaticDimension

UITableViewCellのUITableViewAutomaticDimensionを使えば、セルのそれぞれの高さを自動で計算させることができます。 optional func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat こいつとはおさらばで…

Xcode6でベクター画像を利用する。

Xcode6で密かにベクター画像が使えるようになっています。 これを使えば@1x, @2x, @3x画像を用意する煩わしさから解放されます! 使い方は非常に簡単です。 PDF画像を@1xのサイズで書きだす。 AssetCatalogをクリックする New Image Setで画像セットを追加す…

Swift: NSUserDefaultsに配列が保存できない

Swiftでプライベートで開発中のアプリでこんな出来事に遭遇しました。 let array = ["1", "2", "3", "4"] NSUserDefaults.standardUserDefaults().setObject(array, forKey: "key") NSUserDefaults.standardUserDefaults().synchronize() let array = NSUser…

SLRequestを用いたTwitterのin_reply_toツイートがうまくいかない

Twitterのリプライでin_reply_toを実装していて少しハマりました。 in_reply_to_status_idをパラメータに入れているのに、会話形式で表示されないという問題に遭遇しました。 SLRequestに渡すパラメータのNSDictionaryの中にin_reply_to_status_idをキーにNS…

SwiftからObjective-Cのenumを扱う時の注意事項2

注意事項というかObjective-CのenumをSwiftはどう解釈するかのメモ ObjC側でのenum typedef enum : NSUInteger { MyEnumValueA, MyEnumValueB, MyEnumValueC, } MyEnumValue; があったとする。この定数をSwift側からさわろうとするとほとんどの場合でエラー…

SwiftからObjective-Cのenumを扱う時の注意事項

Swiftを使って開発していても、OSSなどはObjective-Cで書かれたものを使うことはよくあります。 SwiftからObjective-Cのクラスなどを使うにはヘッダーファイルを用意するだけですが、Objective-C側に書かれたenumの扱いには注意が必要です。 結論から言うと…

Swift: AutoLayoutでUIVisualEffectviewをアニメーションさせてみた

iOS8からUIVisualEffectViewというものが追加されました。このビューは様々なエフェクトを自動で表示することができます。Appleの公式すりガラス処理を実現することができます。 今回は、Swiftを使って、このクラスの使い方とAutoLayoutによるアニメーション…

メソッド、クラス、変数、定数宣言時に使えそうなものまとめ

iOS開発でメソッド、クラス、変数、定数の宣言に使えそうなものをまとめました。 Appleのヘッダーファイルを見ているとよく出てくる NS_AVAILABLE_IOS みたいなやつで個人的に使えそうだと思ったものをまとめます。 資料はこちら クラス・メソッド・定数・変…

AVFoundationのキャプチャ機能について

AVFoundationによるキャプチャ機能をまとめたいと思います。 まず、普段あまり使うことがないAVFoundationの簡単な紹介です。このフレームワークはAppleが用意する「音声・動画などの時間ベースのメディアの再生や作成、編集の細かい作業を行うための超強力…

push通知からバックグラウンドでダウンロード

今回はpush通知を受信後バックグラウンドでアプリを起動させ、サーバから情報を取得する方法を紹介します。 そのまえに前回の記事を読むことを推奨します。 サイレント通知もしくは、通常のpush通知を受信した際にバックグラウンドで起動するという設定を行…

SilentNotificationとBackgroundFetchについて

iOS7でアプリがバックグラウンドで動作できるAPIがいくつか追加されました BackgroundFetch これを有効にするとOSが定期的に良いタイミングでバックグラウンドでアプリを起動させ、AppDelegateの application:performFetchWithCompletionHandler: を実行して…