2016-08-08 4 views
2

xaml 페이지에서 스크롤보기가 있습니다. 하지만 스크롤 바를 찾을 수 없었습니다. 스크롤 막대를 표시하는 데 사용할 수있는 속성이 없습니다. 스크롤 막대를 표시하기 위해 사용자 정의 렌더러 클래스를 추가해야합니까?xamarin ios의 스크롤보기에 스크롤 막대를 추가하는 방법은 무엇입니까?

+0

'UIScrollView'에는 스크롤바가 없습니다. 실제로 콘텐츠 크기가 상대적인 위치를 나타내는 표시기가 있습니다. AFAIK Xamarin.Forms (XAML로 태그를 지정 했으므로 사용 중이라고 가정 함)는 스크롤 표시기를 표시 할 수있는 방법을 제공하지 않습니다. 그러나 UIScrollView는 커스텀 렌더러에서 도움이 될 수있는 ['FlashScrollIndicators'] (https://developer.xamarin.com/api/member/UIKit.UIScrollView.FlashScrollIndicators() /)를 가지고 있습니다 만 스크롤 인디케이터 만 간략하게 보여줍니다 , 그리고 그것을 지속적으로 볼 수는 없습니다. – dylansturg

답변

2

UIScrollView에는 항상 스크롤 막대에 "Win32 스타일"이 없으므로 사용자가 스크롤 할 수있는보기 내에있는 사용자를 표시하기 위해 스크롤하는 동안 표시 할 수있는 스크롤 표시기가 있습니다. 사용자 정의 렌더러 (ScrollViewRenderer) 당신이 좋아하는 항목을 설정할 수 있습니다에서

: 사용자가 실제로 스크롤하는 동안 다시

scrollView.ShowsHorizontalScrollIndicator = true; 
scrollView.ShowsVerticalScrollIndicator = true; 
scrollView.IndicatorStyle = UIScrollViewIndicatorStyle.Black; 
scrollView.ScrollIndicatorInsets = new UIEdgeInsets(0, 30, 0, 30); 

그러나이 내장 된 스크롤 지시자 만 화면에 표시됩니다.

enter image description here

당신이 화면에 모든 시간을해야 할 경우 스크롤바를 직접 그릴 필요가있다.

참고 : 이것은 OS-X 스크롤보기와 동일한 동작입니다.

+0

정말 고마워요. – Krishna

+0

안녕하세요, 페이지가 표시되는 동안 스크롤보기에 콘텐츠가 표시되어야합니다. 이제 스크롤 막대가 나타나지 않기 때문에 내용이 화면 너머에 있다는 표시가 없습니다. 스크롤을 시작하면 스크롤 막대가 나타납니다. 사용자 정의 렌더러를 사용하지 않고 페이지가 스크롤 가능한 것을 보여줄 수 있습니까? – Krishna

+0

@Krishna 1) 사용자가 내용을 볼 수있을 때까지 UIScrollView를 확대하고, 사용자에게 공백의 전체보기를 남겨 두지 않습니다. 2) 프로그래밍 방식으로 사용자를 ScrollRectToVisible을 통해 내용으로 스크롤합니다. 3) 내용을 디자인/배치합니다. **보기 크기보다 크거나 큰 공백 영역을 남기지 않는 **, 스크롤 바를 추가하는 사용자 정의 렌더러가 있습니다. – SushiHangover

관련 문제