タグ

ブックマーク / naoty.hatenablog.com (2)

  • SlackTextViewControllerを読んだ - AnyType

    UI周りの理解を深めるため、Slackが公開しているhttps://github.com/slackhq/SlackTextViewControllerを読む。コミット番号は9fcf06ac6f7004e4aacb6536b375d1cb03f08289だ。 全部はさすがに読みきれないので、以下の気になるポイントに集中してコードを読んでいくことにする。 キーボードの表示/非表示に伴うレイアウトの調整。何も工夫しないとキーボードでViewが隠れてしまうはずだ。 ユーザー名や絵文字の補完 TL;DR キーボードの表示/非表示の際に送信される通知UIKeyboardWillShowNotification等を使ってレイアウトを調整している。レイアウトはすべてAuto Layout上の制約をプログラムで制御することで調整している。例えば、キーボードの高さに併せてスクロールビューの高さを大きくしたり

    SlackTextViewControllerを読んだ - AnyType
  • PromiseKit/swiftを読んだ - AnyType

    PromiseKitとは http://promisekit.org/ iOSプログラミングで頻繁に出てくる非同期処理を簡単かつエレガントにするライブラリ。 JavaScriptとかでおなじみのPromiseパターンの実装と、各種CocoaフレームワークからPromiseを使うための拡張が含まれている。 Objective-C版とSwift版がある。 使い方 NSURLConnection.GET("http://placekitten.com/250/250").then{ (img:UIImage) in // ... return CLGeocoder.geocode(addressString:"Mount Rushmore") }.then { (placemark:CLPlacemark) in // ... return MKMapSnapshotter(options:op

    PromiseKit/swiftを読んだ - AnyType
  • 1