饿了么的ios客户端,商家顶栏的实现?
高洛峰
高洛峰 2017-04-17 17:55:38
0
2
511

黄色部分的顶栏,下拉可以显示部分信息,上推的时候可以渐变消失,直到变成一个navigation controller的样式,同时ui的控件也会改变。

请问这个大概是如何实现的? 有思路就行。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(2)
刘奇

이 부분은 제가 한 게 아니지만, 자랑하려고 왔어요.
우선 NavigationBar가 2개인데, 눈에 보이는 페이딩 변화가 동일하지 않습니다. 이 기본을 알고 나면 더 많은 것을 쉽게 이해할 수 있을 것입니다. View의 계층 구조는 다음과 같습니다.

으아아아

SegmentView는 볼 때마다 바뀌는 판매자 아이콘이 있는 뷰입니다. ScrollView에는 "제품, 리뷰, 판매자"라는 세 가지 ViewController가 포함되어 있습니다.
다음 단계는 더 어려운 부분입니다. 제품의 테이블뷰가 슬라이딩 가능해야 하고 전체 스크롤뷰가 적절하고 적절하게 위쪽으로 슬라이딩되어야 하는 경우 이 동작을 제어하기 어렵습니다. Meituan과 Baidu의 해당 인터페이스를 비교해 보면 Ele.me와는 다른 경험을 할 수 있을 것입니다.
적절한 시점은 언제입니까? 스크롤뷰가 상단에 도달하지 않으면 테이블뷰가 이동하지 않습니다. 상단에 도달하면 테이블뷰가 스크롤뷰의 스크롤뷰 속도를 이어받아 계속 스크롤해야 합니다. 잠시 멈추고 좋지 않은 경험을 하게 됩니다.

걱정되는 최상위 세그먼트뷰의 페이딩은 스크롤뷰의 전체 위치를 통해 변경되는데 이는 단순한 관계일 뿐입니다.

스크롤뷰와 테이블뷰의 동작과 속도 사이의 연결은 이면에 숨겨져 있습니다. 그래서 우리 팀원들은 테이블뷰를 약간 해킹하고, 원래 제스처를 끄고, 사용자 정의 제스처를 사용하여 제어하고, UIDynamic을 사용하여 테이블뷰의 스크롤을 시뮬레이션하고, 마지막으로 스크롤뷰가 도달할 때 테이블뷰가 가속도를 연결하도록 했습니다. 상단. 일부 매개변수는 원활한 연결을 위해 미세 조정되었습니다.
그렇습니다.

伊谢尔伦
  • (void)scrollViewWillBeginDragged:(UIScrollView *)scrollView;
    테이블뷰 위치 모니터링

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿