2

UIScrollView에서 콘텐츠 높이 및 너비가 scrollview 크기보다 큽니다. 기본적으로 가로 및 세로로 스크롤 할 수 있습니다. 내가 원하는 것은 수직으로 스크롤하는 것 뿐이며 아래 코드를 사용하여 UIButton을 사용하여 가로 스크롤을 관리합니다.UIScrollView의 가로 스크롤을 사용하지 않는 가장 좋은 방법은 무엇입니까?

[scrlViewQuestion setContentOffset:CGPointMake(questionWidth, 0) animated:YES]; 

수평있는 ScrollView 방지, 하나는있는 ScrollView 크기보다하지만 내 경우있는 ScrollView 내용 폭이 크기보다 큰에서 작은있는 ScrollView의 콘텐츠 폭을 설정할 수 있습니까? 그래서 이것을 해결하는 가장 좋은 방법은 무엇입니까?

답변

0

scrollview의 contentSize을 화면 너비와 스크롤 가능한 내용의 실제 높이로 설정하십시오. top, bottomright의 경우 contentInset을 0으로 설정하십시오. left에있는 콘텐츠 삽입물의 경우 항상 현재 표시하려는 위치의 부정확 한 x 좌표를 선택합니다.

예. 화면이 320 포인트 폭, 그리고 당신이 x 고정 가로 스크롤에 만족을 표시하고 싶지만, 수직 스크롤이 허용되는 경우 :

CGFloat screenWidth = 320.0; 
CGSize actualContentSize = CGSizeMake(3000, 3000); 

[scrlViewQuestion setContentSize:CGSizeMake(screenWidth, actualContentSize.height)]; 
[scrlViewQuestion setContentInset:UIEdgeInsetsMake(0, -x, 0, 0)]; 
+1

보다 정확하게는 'contentSize.width'를 스크롤보기의 너비로 설정하십시오 (예 :'scrollView.bounds.size.width'). 그러나 레이아웃 제약 조건을 사용하는 경우, autolayout은 스크롤 뷰의'contentSize'가 실행될 때 다시 설정합니다 (아마 당신보다 더 자주 발생합니다). 그래서이 경우 제약 조건을 수정해야합니다. –

+0

@rob 예,주의 사항을 지적 해 주셔서 감사합니다. – mschmidt

1

당신은 스토리 보드에서이 작업을 수행 할 수 있습니다.

enter image description here

는 수평 스크롤을 사용하지 않도록 설정합니다 Scroll View의 신원 Inspector.It에서 Show Horizontal Indicator 탭을 비활성화합니다.