私は幅と高さが256x256のスクロールビューを持っています。私は両方向(左と右)に伸びるそのスクロールビューのサブビューを持っています。 clipToBoundsをNOに設定すると、スクロールビューの項目が表示されます。iOS UIScrollView clipToBounds = NOサブビューが検出されない
ユーザーがスクロールビューホルダー(256x256を超える領域)に触れると、ヒットテストを確認してscrollViewを返します。
私の問題は、私のスクロールビューのボタンはボタンであり、ボタンが256x256の中になければ、タッチイベントを受信していません。スクロールビューのボタンをどのように循環させ、イベントをボタンに転送するのですか?
私はこのPaging UIScrollView with peeking neighbor pages
のようにやっているしかし、私のscrollviewのサブビューは、イベントを受信していません。
私はイベントをワイヤで送信し、私のボタンはイベントを受信しないはずです。イベントチェーンは、私のアイテムをスクロールできるようにする私のUIScrollビューでは常に停止しますが、イベントをスクロールビューのボタンにどのように転送しますか?
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if ([self pointInside:point withEvent:event]) {
return self.scrollView;
}
return nil;
}
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if ([self pointInside:point withEvent:event]) {
return self.scrollView;
}
return nil;
}
- (UIView *) hitTest:(CGPoint) point withEvent:(UIEvent *)event {
UIView* child = nil;
if ((child = [super hitTest:point withEvent:event]) == self) {
return self.scrollView;
}
return child;
}
ページングが適切に機能するため、スクロールビューのサイズを変更しました。スクロールビュー幅を全幅に拡大すると、1つのアイコンの代わりに全幅がページされます。プログラムでページングの場所を設定する方法はありますか? – spentak