そろそろAppleにコミットしようとしている2tch v6.0ですが,内部で利用しているいくつかのコントロールをオープンソースで展開しています. オープンソースで展開することを意識してコードを書くと,ソースコードの見通しがよくなるんですよね・・・・. 一人で使うことを前提でコードを書くと,どうしてもコードがぐちゃぐちゃに・・・・.

すべてgithubで公開しています.

UZTextView

選択可能なテキストビュークラスです. レス,スレッドタイトル,色々なところで利用しています. 文字選択やリンクを埋め込みたいテキストに利用できます. このクラスは,CocoaPodsで公開しています.

UZMultipleLayeredPopoverController - 軽量ポップオーバービューコントローラ

多段に表示することを目的としたUIPopOverControllerクラスの代替クラスです. UIPopOverControllerクラスは,多段表示したら審査で文句を言われたり,使い勝手が悪すぎるので,その辺を解決するために実装しました. 以下のようなコードでお手軽に実装できます.

id viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"NavigationController"];
[self presentMultipleLayeredPopoverWithViewController:viewController
                                          contentSize:CGSizeMake(320, 480)
                                             fromRect:button.frame
                                               inView:self.view
                                            direction:UZMultipleLayeredPopoverAnyDirection];

</p>

UZInputCandidateAccessory - オリジナル入力ショートカット

キーボードで文字を入力するときに,独自の入力ショートカット一覧をキーボードのアクセサリビューに表示するためのビューです. 割と簡単に使えるようにしました. 拡張するなら,画像とかにも対応するようにすれば,もっと色々おもしろいかもしれません.