問題が発生してUIScrollView
います。バグかどうかはわかりませんが、ズーム可能/パン可能な画像を使用して実装するUIScrollView
と発生します。delegate
まず、画像をパンすると、contentOffset
が整数以外の値(.5)になる可能性があります。確かzoomScales
に、画像を端までパンすると、このために端に到達するのが半ピクセル恥ずかしがります。
これは非常に小さなことですが、私のアプリでは、画面上でオブジェクトをドラッグする必要があります。オブジェクトを隅にドラッグすると、それに気付くことができます。
私は問題を修正してそれを作るために以下を実装しましたので、それcontentOffset
は完全な価値でなければなりません:
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
if (targetContentOffset->x != ceilf(targetContentOffset->x))
{
if (velocity.x > 0)
{
targetContentOffset->x = ceilf(targetContentOffset->x);
}
else
{
targetContentOffset->x = floorf(targetContentOffset->x);
}
}
if (targetContentOffset->y != ceilf(targetContentOffset->y))
{
if (velocity.y > 0)
{
targetContentOffset->y = ceilf(targetContentOffset->y);
}
else
{
targetContentOffset->y = floorf(targetContentOffset->y);
}
}
}
ただ、物件targetContentOffset
とは全然違うのでうまくいかないようです。contentOffset
誰かがa)このバグが発生している理由またはb)上記のデリゲートメソッドまたは他の手段を使用してそれを修正する方法はありますか?