문제

사용자가 선택해야 할 몇 가지 이미지가 있습니다. 이제 나는 지루한 그리드가있는 평평한 스크롤 영역을 제공하고 싶지 않습니다. 대신, 나는 그 이미지가 들어있는 휠을 표시하고 싶습니다. 상단에는 선택을 나타내는 마커가 있습니다. 피커와 비슷한 것.

문제는 회전이 아닙니다. 나는 그것을 위해 몇 가지 기하학적 기능을 사용합니다. 그러나 나는 그 바퀴에 실제로 스크롤 제스처를 얻는 방법을 모른다. 어디서부터 시작해야합니까?

BTW : 원형으로 나는 피커와 같은 것을 의미하지 않습니다. 나는 중심 축이 있고 굴릴 수있는 실제 휠을 의미합니다. 아주 오래된 전화처럼 자전거 휠처럼. 또는 피커가 90 ° 씩 돌면서 축을 향하고 있습니다 (z- 좌표).

도움이 되었습니까?

해결책

제스처를 포착하는 것에 대해 이야기하고 있다면 여기에 있습니다 그들이 문서에 제공하는 예.

맹세 할 수 있었지만 Alan Cannistraro가 첫 번째 중 하나에서 말하는 것을 들었습니다. CS193P 강의 당신이 이것을 할 필요가 없다면, 당신은 스 와이프 이벤트를 가두 수 있지만 나는 그것을 찾을 수 없습니다.

그들이 무엇을하고 있는지 실제로 아는 사람이 저를 수정 하고이 게시물을 제거 할 것입니다. 그러나 지금은 이것이 효과가 있다는 것을 알고 있습니다.

#define HORIZ_SWIPE_DRAG_MIN  12
#define VERT_SWIPE_DRAG_MAX    4

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    startTouchPosition = [touch locationInView:self];
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint currentTouchPosition = [touch locationInView:self];

    // If the swipe tracks correctly.
    if (fabsf(startTouchPosition.x - currentTouchPosition.x) >= HORIZ_SWIPE_DRAG_MIN &&
        fabsf(startTouchPosition.y - currentTouchPosition.y) <= VERT_SWIPE_DRAG_MAX)
    {
        // It appears to be a swipe.
        if (startTouchPosition.x < currentTouchPosition.x)
            [self myProcessRightSwipe:touches withEvent:event];
        else
            [self myProcessLeftSwipe:touches withEvent:event];
    }
    else
    {
        // Process a non-swipe event.
    }
}

다른 팁

피커보기와 얼마나 비슷한가? 이미지보기 일 수있는 고유 한 사용자 정의 하위 뷰로 픽커보기를로드 할 수 있습니다. 그것은 당신이 당신의 이미지를 통해 실제 피커보기를 얻을 수 있습니다. 그것은 당신이 실제로 목표로하고 있거나 아닐 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top