2011-11-18 7 views
-1

필자는 UIView에 다른 UI가별로 없으며 사용자가 맨 위에있는 내용을보고 UIButton을 표시하기 전까지는 숨겨지기를 원하는 UIButton이 있습니다. 이것을 구현할 방법이 있습니까?내 UIView의 일부를 숨기는 방법?

감사합니다,

+0

버튼을보기의 맨 위에 놓을 수는 없습니까? 사용자가보기로 스크롤하면 볼 수 있습니까? – Rayfleck

+0

하지만보기가 표시되면 내가 숨길 수 있고 사용자가 스크롤을하면 표시되도록하고 싶습니다. – Ashutosh

답변

1

있는 UIView이가있는 UIButton을 포함, 숨겨진 속성이 있습니다 (따라서 모든 것을 그것을 하위 클래스라는). YES/NO로 설정하면 사용자에게 숨기거나 표시 할 수 있습니다.

그런 다음 실제 질문은 표시 기준/숨기기 기준과 측정 방법에 달려 있습니다. UIScrollView를 사용하는 경우 UIScrollViewDelegate을 추가/구현할 수 있습니다. 이렇게하면 scrollViewDidScrollToTop:과 같은 메소드가 표시되어 사용자가 맨 위로 스크롤했는지 확인할 수 있습니다.

+0

이 델리게이트 메소드가 호출되지 않고, 이것과는 별도로 contentOffSet을 사용하여 버튼을 숨기지 만, 문제는 스크롤 버튼 (위쪽/아래쪽)이 나타나면 아무 문제가 없습니다. 스크롤을 제한하기를 원한다. – Ashutosh

+0

'scrollViewDidScroll :'에 대한 델리게이트 메소드를 추가 해보자. 스크롤링이 필요할 것이므로 쉽게 테스트 할 수 있어야합니다. 작동하지 않는 경우 대리인이 제대로 할당되지 않을 가능성이 있습니다. 그것이 호출되면, 당신은 당신의 contentOffset을 모든 스크롤 이벤트에 대해 검사 할 수 있고 0 점에 도달 할 수 있습니다. "상태 표시 줄 탭"을 사용하여 항상 이벤트를 트리거해야하는 상단으로 스크롤 할 수 있습니다. – DBD

0

각 스크롤에서 델타를 계산할 수 있도록 이전 스크롤 오프셋을 추적하여 사용자가 위 또는 아래로 스크롤했는지 여부를 알려줍니다. 이를 통해 버튼의 "숨겨진"속성을 토글 할 수 있습니다. 희망이 도움이됩니다.

관련 문제