iOS
普段アプリを作っていたアプリが取得した JSON データを Console に出力させています。このままでは改行がなくなっていたりシンタックスハイライトもなくて見づらかったのでこんなものを作りました。 griffin-stewie/CSNJQFormatter 以下のような文字列を返…
Tweetie で有名になった Pull to refresh ですが iOS 6 から UIRefreshControl として OS 標準で追加されました。残念ながら UIRefreshControl は UITableViewController と一緒に使うしかまっとうな方法はありません。UIViewController + UITableView のよ…
Blocks のアレゲなシンタックスは有名で非常に覚えにくいです。なので有名な OSX / iOS アプリ開発者のココロの叫びを表したサイトがあるのはもはや有名ですね。ココに書かれているシンタックスを Xcode の Snippet にして置いてます。 griffin-stewie/Xcode…
UI のインタラクションとしてテキストカラーを少し暗めにしたいことがあったのでその時に使った方法です。 HSB(HSV) で元の色の Brightness を変更する 先に書いたとおり暗くしたいだけなので RGB でどうこうしようとするのはめんどくささこのうえないです。…
みなさんは普段アプリの開発の際にどのような形で色を指定していますか?個人的な経験と予想では [UIColor colorWithRed:0.251 green:0.514 blue:0.663 alpha:1.000] のような RGB での指定だったり、カテゴリやマクロで拡張して #4083A9 のような Hex 指定…
ちょっと不便 ALAssetsLibrary を触るときにはユーザーに AssetsLibary へのアクセスを許可してもらわないといけません。個人的には先にアクセス許可の伺いを立ててからその結果に応じてアプリとしての振る舞いを切り分けたいと思います。しかし、ALAssetsLi…
先日、AFNetworking や NSHipster で有名な Mattt が Ruby の Nokogiri 風の XML & HTML パーサー Ono 斧 を公開しています。 早速少しだけ触ってみた CSS Selector でのパースをサポート XPath での指定なら今もいくつかライブラリがありますが CSS Selecto…
表題の通りです。 2週間くらい前に id:cockscomb さんが CXCKeyValueObserver というライブラリをリリースしていました。これはどんな感じのライブラリかっていうと KVO の 監視開始/終了 忘れず安心に実行できる 複数 KVO を使っても通知を受けた後の処理が…
以前アプリの画面を開いているアプリケーションのプレビュー画面から隠すというものを書きました。先日たまたま見つけたライブラリがこのような処理を補助するものがあったので一応ご紹介。 MMAppSwitcher というライブラリです。使い方的には MMAppSwitcher…
僕は iOS アプリのコーディングをやっていて主にそっち方面のブログエントリを書いていますが今日は本の紹介というかタイトル通り宣伝です。 アプリ開発をやってる僕ですが結構 UI / UX は気になるタイプで仕事中もデザイナーにいちゃもんつける面倒くさいや…
先日、x秒たったらある処理をキャンセルするといういわゆるタイムアウト処理を実装する必要があったときに dispatch_source を使ってハマったので備忘録。 当時ググっても繰り返し一定間隔で処理を動かすサンプルはすぐ見つかったのでそれをベースやっても期…
UICollectionView で UITableView のセクションヘッダー風の SupplementaryView を実装する UICollectionView は昔なら UITableView を使って頑張って実装していようなグリッドレイアウトな UI を UITableView ライクな I/F で実装できる素敵なやつです。UIT…
はてなさんが はてなインターンで利用したiOSアプリ等のサンプルコードを公開しました - Hatena Developer Blog という素敵なサンプルコードを公開してくれたので、好き勝手に感想を書いてみたいと思う。本来は Web アプリ側も動かしたかったんだけど、ウマ…
iOS 7 以前でも、アプリ実行中にホームボタンを押してまた、そのアプリに戻ってきた場合には OS が作成した画面のスクリーンショットが表示されていました。プライバシーが気になるようなアプリでは Home に戻る直前の画面をそのまま次回前面になったときに…
前回は Background Fetch を試してみました。この方法ではアプリだけの実装でバックグラウンドで通信処理等を走らせる事ができますが、実行タイミングが OS 側の学習によるもので任意のタイミングでは発動させることができません。iOS 7 からは Background F…
先日、「M7 と少しだけ戯れてみた」というエントリでモーションアクティビティを試しに触ってました。その流れで自分の歩数を定期的に Tweet するようにしてみたらおもしろいかなぁと思って折角なので iOS 7 から導入された Background Fetch を使って見よう…
9/20 に無事に iPhone 5s Space Gray 64GB を手に入れました。前日の14時過ぎぐらいからヨドバシ梅田界隈をうろうろし、閉店少し前から列に並び、希望端末の整理券1番を Get し、9時くらいには現品 Get しました。 CMStepCounter と CMMotionActivityManager…
ボタンのタップ反応エリアの拡大方法 アプリを作っていると、実機で触ってみたときに「ボタンが押しにくい」とか「タップのあたり判定がせまい」とかってあるかと思います。たいていの場合はボタンに使っている画像が小さい等が原因だったりします。このよう…
今日貯めてた Reading List を見てたらこんな記事が。 New thing I do in code 例 以下のようなコードが動きます。 self.downloadButton = ({ UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; NSLog(@"%s %@", __PRETTY_FUNCTION__,…
前回も座標系だったんですけど今回も座標系。 CGGeometry にはいろいろ地味に便利な関数が揃ってるんですけどあまり日の目を見ない気がするので CGRectDivide について書こうかと思います。 使い方と得られる結果が理解しにくい CGRectDivide は任意の Rect …
昨日、なんで今までこれをやってなかったんだろう?と思ったこと。 frame 弄るのダルい UIView の layout 時に label.frame.origin.y = 5; とかしたいところですけど出来ません。 この程度の事で label.frame = CGRectMake(CGRectGetMinX(label.frame), 5, C…
以前 @xcatsan さんのこちらの記事をさっきみてて思い出したので備忘録として。 以前、非同期で実行される処理の塊を直列に順序を決めて実行したいというシチュエーションがありました。そのときにぱっと浮かんだのは昨日の Cocoa 勉強会関西で@yashigani が…
Blocks 怖いような、便利なような。そんな物ですがみなさんはどんな感じに使っていますか? 僕は最近こんな感じのメソッドを実装して使ってます。 UINavigationController *nvc = [DetailViewController navigationBasedViewControllerWithConfigurationBloc…
最近、頑張って比較してるのにバグっている見たコードをみました。簡単な比較方法を知らない人もいるのかもと思って書いてみます。 たまに求められるバージョン番号比較 何らかの理由でバージョン番号の比較をしたいときってありますよね?○○バージョン以上…
UITextView って UITextField みたいに Placeholder がないんですね。つい先日まで気づきませんでした。必要とするようなシチュエーションがないとかそのような UI が iOS 的にナシなのかなぁと思っていたらカレンダーアプリのイベント追加画面で Apple 自身…