stackoverflow에서 보았지만 정확하게 대답하는 답변을 찾을 수 없습니다. 내가 뭔가를 놓친 경우 올바른 질문을 가르쳐주십시오. 여기 UIScrollView를 터치하여 세로로 스크롤하고 프로그래밍 방식으로 가로로 배열합니다.
내 시나리오입니다 -내가 원래 내 수직 창 크기를 설정 한 경우가 있었다, 그래서 단순히이 수행하여 나를 완전히 스크롤을 제한하기가 쉬웠다 -
CGRect scrollContainer = CGRectMake(0, 0, 320, 440);
self.baseView = [[UIScrollView alloc] initWithFrame:scrollContainer];
self.baseView.contentSize = CGSizeMake(6400, 440);
self.baseView.bounces = NO;
self.baseView.pagingEnabled = NO;
self.baseView.scrollEnabled = NO;
을 휴대 전화의 움직임을 바탕으로, 그때 프로그래밍 스크롤 할 수 있었다 -
CGPoint scrollOffset = CGPointMake(x*20, 0);
[self.baseView setContentOffset:scrollOffset];
을 내 새로운 요구 사항에서, 수직 콘텐츠 증가는 크게 그래서 근래 것 난 아직도 수평 프로그램 스크롤되지만 사용자에게 터치에 의해 만 세로로 스크롤 할 수있는 능력을주고 싶다 그래서
self.baseView.contentSize = CGSizeMake(6400, 4400);
과 같은 전자 contentSize. 그래서 나는 scrollEnabled = YES라고 말해야한다고 가정합니다. 그러나이를 통해 사용자는 양방향으로 스크롤 할 수 있습니다.
터치 이벤트를 캡처하고 무시해야합니까? 수평 스크롤인지 수직 스크롤인지 어떻게 알 수 있습니까? 대각선 스크롤 동작을하면 어떻게됩니까?
나는이 시점에서 조금 우둔해 어떤 입력이라도 크게 감사 할 것입니다.
나는 잘 모르겠다. 세로로 스크롤하려면 스크롤 뷰 중 하나의 콘텐츠 크기가 화면 크기보다 커야합니다. 맞습니까? 그것은 내부 스크롤보기 또는 외부입니까? – Kal
나는 이것을 오늘 저녁에 시도하고 피드백을 줄 것이다. 대답을 감사하십시오. innerscrollview = 스크롤이 비활성화 된 전체 콘텐츠 크기 outerscrollview.width = 화면 너비 .. outerscrollview에 innnerscrollview를 추가하고 outerscrollview에 대해 화면 상호 작용을 사용하도록 설정합니다. 그게 맞는 것 같니? – Kal
@Kal 내부 scrollView에는 화면 너비 너비 만 있지만 contentSize는 전체 contentSize입니다. 높이는 contentSize.height입니다. 따라서 바깥 쪽 터치 가능 scrollView는 내부 scrollView * (contentSize = innerScrollView.size)를 스크롤하고 사용자가 변경할 수 없기 때문에 내부 scrollView의 가로 contentOffset을 코드에서 제어 할 수 있습니다. – fzwo