ScrollView の縦スクロールを禁止!

昨日の記事で書いたようにScrollViewの上にTableViewのせた状態で、そのTableRow中にTextField等を乗せる。
そのTextFieldをクリックすると、入力のためのキーボードが表示されるのですが、TextFieldがキーボード表示により隠れる位置にあるとスクロールされます。
このスクロールが、ScrollViewとTableView両方に対して行われるんですが、ScrollViewは縦方向に動いてほしくないので、縦スクロールを禁止するScrollViewをModuleで作ってみました。

TiUIScrollView クラスの継承した HogeProjScrollView クラスと、
TiUITableViewProxy を継承した HogeProjScrollViewProxy クラスを新たに作成して、
HogeProjScrollView.m にスクロール発生時に呼ばれるメソッドの scrollViewDidScroll をオーバーライドします。
もしyの値が変わっている場合は、yの値を0としてProxyのscrollViewDidScrollをコールするように置き換えたらできました。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView_               // any offset changes
{
    if(scrollView_.contentOffset.y != 0){
        CGPoint newOffset = CGPointMake(scrollView_.contentOffset.x, 0);
        scrollView_.contentOffset = newOffset;
    }

    [(id<UIScrollViewDelegate>)[self proxy] scrollViewDidScroll:scrollView_];
}

こんなんでいいんですかねぇw