UIScrollViewがメインのページでは、scrollやzoomイベントを優先するためなのか、タッチイベントが笑えるぐらい全く動かない。
試しにUIScrollViewの手前にUIImageViewを設置して
imageView.userInteractionEnabled = YES;
としてみると、確かにタッチイベントのみ取得できる。
もちろん、スクロールとズームはイベント取得できない。
これって、同居できないのか????
判明
どうやら、UIScrollViewをハックすると、同居できるらしい事が判明。
下記の参考ページに丁寧にソースコードまで設置されていたので、やってみたところ、なんの問題もなく動作可能。
まだ、ハックの詳細(なんでこれで動くのか)がわかっていないが、とりあえず、アプリ完成を進めたいので、今のところは、これでOKとする。
ちなみに、ソースコードを転載しておきます。
#import <UIKit/UIKit.h>
@interface UIScrollView(TouchEvent)
@end
#import "TouchEvent.h"
@implementation UIScrollView(TouchEvent)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[[self nextResponder] touchesBegan:touches withEvent:event];
}
@end
参考
http://tamotamago.com/?p=308
あとがき
もしかして、いろんなイベントってこうやってハックしていって便利に使えるんじゃないだろうか・・・
アイデアだして研究してみようっと!!!
0 件のコメント:
コメントを投稿