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

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

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

高洛峰
高洛峰

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

membalas semua(2)
刘奇

Saya tidak melakukan bahagian ini, tetapi saya di sini untuk menunjuk-nunjuk.
Pertama sekali, terdapat dua NavigationBars, dan perubahan pudar yang anda lihat tidak sama. Selepas mengetahui asas ini, anda sepatutnya dapat memahami lebih banyak perkara dengan mudah. Hierarki Pandangan adalah seperti berikut:

<ParentViewController.View>
   | <Container> //UIView
   |    | <SegmentView>
   |    | <ScrollView> //仅左右滑动(pagingEnabled)
   |    |    | <ChildViewController1.View>
   |    |    |    | <CategoryListView>
   |    |    |    | <FoodListView>
   |    |    | <ChildViewController2.View>
   |    |    |    | <RatingListView>
   |    |    | <ChildViewController3.View>
   |    |    |    | <SummaryListView>
   

SegmentView ialah paparan dengan ikon pedagang yang berubah apabila anda melihatnya. ScrollView mengandungi tiga ViewControllers: "produk, ulasan, pedagang".
Langkah seterusnya ialah bahagian yang lebih sukar: jika paparan jadual produk mesti boleh diluncurkan, dan keseluruhan paparan skrol mesti meluncur ke atas dengan sewajarnya dan sesuai, gerak isyarat ini sukar dikawal. Anda boleh membandingkan antara muka Meituan dan Baidu yang sepadan Anda sepatutnya dapat mendapati bahawa pengalaman itu berbeza daripada Ele.me.
Apakah masa yang sesuai: apabila paparan skrol tidak mencapai bahagian atas, paparan jadual tidak akan bergerak Apabila ia mencapai bahagian atas, paparan jadual akan mengambil alih kelajuan paparan skrol dan terus tatal berhenti seketika dan membawa kepada pengalaman yang buruk.

Penurunan paparan segmen teratas yang anda bimbangkan tentang perubahan melalui kedudukan keseluruhan paparan skrol, yang merupakan perhubungan mudah.

Tersembunyi di sebalik tabir ialah hubungan antara gerak isyarat dan kelajuan paparan skrol dan paparan jadual. Jadi, ahli pasukan kami melakukan sedikit penggodaman pada paparan meja, mematikan gerak isyarat asal, menggunakan gerak isyarat tersuai kami untuk mengawalnya dan menggunakan UIDynamic untuk mensimulasikan penatalan paparan jadual, dan akhirnya biarkan paparan jadual menyambung pecutannya apabila paparan skrol mencapai bahagian atas. Beberapa parameter telah diperhalusi untuk mencapai sambungan yang lancar.
Itu sahaja.

伊谢尔伦
  • (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
    Pantau kedudukan tableview

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan