iOS仿淘寶詳情頁,支付寶首頁上滑效果
功能需求
最近需要修改商品詳情頁,其他沒什麼就是一個多種Cell的列表,關鍵是其中的一個效果不太好實現。
要求輪播圖滑動的速率慢於輪播圖以下部分滑動的速率。給人一種輪播圖被遮蓋的錯覺。
主要思路
剛開始感覺就是用tableView可以搞定,結果無論我怎麼寫,都不會有這種遮蓋效果。只好問度娘,還真有人寫出來了,大概原理如下:首先需要用到scrollView和tableView兩個主要控制元件。將輪播圖部分和tableView部分子上而下的放到scrollView上面,然後給足tableView所使用的高度,只能大不能小。這一點很重要,只有將tableView的高度給夠了,tableView才不會滑動(這個思路很巧妙)。再根據實際需要設定scollView的contentSize。然後再在- (void)scrollViewDidScroll:(UIScrollView *)scrollView的方法中設定輪播圖的和tableView的frame和origin,將輪播圖的origin設定成偏移量的二分之一。將tableView的origin設定成偏移量。
程式碼實現
#import "GoodsDetail1ViewController.h"
@interface GoodsDetail1ViewController ()<UITableViewDelegate, UITableViewDataSource, APIRequestDelegate>
@property (nonatomic, strong)UIScrollView *scrollView;
@property (nonatomic, strong)UIView *topView;
@property (nonatomic, strong)UIView *topBannerView;
@implementation GoodsDetail1ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT +50)];
self.scrollView.contentSize = CGSizeMake(0, SCREEN_HEIGHT * 8);
self.scrollView.delegate = self;
self.scrollView.bounces = YES;
[self.view addSubview:self.scrollView];
self.topView = [[UIView alloc]initWithFrame: CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_WIDTH)];
self.topView.backgroundColor = [UIColor yellowColor];
self.topBannerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
self.topBannerView.backgroundColor = [UIColor whiteColor];
[self.topView addSubview:self.topBannerView];
[self.scrollView addSubview:self.topView];
self.goodsDataTableview1 = [[UITableView alloc]initWithFrame:CGRectMake(0, SCREEN_WIDTH, SCREEN_WIDTH, SCREEN_HEIGHT * 9) style:UITableViewStylePlain];
self.goodsDataTableview1.backgroundColor = [UIColor colorWithHexColorString:@"ededed"];
self.goodsDataTableview1.delegate = self;
self.goodsDataTableview1.dataSource = self;
self.goodsDataTableview1.bounces = NO;
self.goodsDataTableview1.scrollEnabled = NO;
[self.scrollView addSubview:self.goodsDataTableview1];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView == self.scrollView) {//對其偏移量進行設定。
CGFloat offsetY = scrollView.contentOffset.y;
if (offsetY <= 0) {
CGRect rect = self.topView.frame;
rect.origin.y = offsetY;
self.topView.frame = rect;
rect = self.goodsDataTableview1.frame;
rect.origin.y = offsetY + SCREEN_WIDTH;
self.goodsDataTableview1.frame = rect;
rect = self.topBannerView.frame;
rect.origin.y = 0;
self.topBannerView.frame = rect;
} else {
CGRect rect = self.topBannerView.frame;
rect.origin.y = offsetY / 2;
self.topBannerView.frame = rect;
}
}
}
以上只是部分程式碼,提示提供個思路餘下的部分還得需要你自己親自實現。
參考文件
相關文章
- 淘寶API系列:如何採集淘寶商品詳情頁資料?API
- 採集淘寶商品詳情頁資料
- 從淘寶首頁登入說起
- 仿京東、淘寶首頁,通過兩層巢狀的RecyclerView實現tab的吸頂效果巢狀View
- 仿支付寶滑動驗證碼案例
- 淘寶詳情api介面API
- 弘遼科技:優秀的淘寶詳情頁應包含哪些內容?
- 如何獲得淘寶/天貓淘寶商品詳情 API介面API
- 淘寶拼多多京東上貨必備API 商品詳情頁資料抓取 APP商品詳情原資料APIAPP
- 仿淘寶物流介面
- vue-仿支付寶支付Vue
- 新金寶公司-19188193789首頁
- 解鎖淘寶商品詳情資料:淘寶天貓商品詳情介面助你精準營銷
- 自定義 behavior 完美仿 QQ 瀏覽器首頁,美團商家詳情頁瀏覽器
- 淘寶詳情APi介面的使用方式API
- 怎麼在淘寶上找高仿包
- 在淘寶上怎麼買高仿包
- 淘寶/天貓獲得淘寶商品詳情 API 返回值說明API
- 寶塔皮膚修改網站首頁 如何在寶塔皮膚中修改網站首頁網站
- 淘寶API介面大全 電商API詳情API
- 最課程階段大作業03:用半天實現淘寶首頁?
- 揭祕淘寶高仿包包
- Java獲取淘寶/天貓商品詳情 API介面(寶貝詳情資料、寶貝ID、寶貝標題、商品簡介等)JavaAPI
- iOS-多個UIScrollView滑動巢狀(仿微博、抖音、網易雲個人詳情頁)iOSUIView巢狀
- Java“牽手”淘寶商品列表頁資料採集+淘寶商品價格資料排序,淘寶API介面申請指南Java排序API
- 淘寶API分享:關鍵字搜尋淘寶商品,獲取商品ID,詳情資料API
- 淘寶怎麼找高仿包
- 淘寶高仿包店鋪名字
- 獲取淘寶商品詳情api、介面獲取寶貝詳情、產品詳細屬性示例說明API
- Material之Behavior實現支付寶密碼彈窗 仿淘寶/天貓商品屬性選擇密碼
- 淘寶/天貓獲得淘寶商品詳情 API 如何實現實時資料獲取?API
- 淘寶/天貓獲得淘寶app商品詳情原資料 API 返回值說明APPAPI
- 十年磨一劍 | 淘寶如何打造承載億級流量的首頁?
- iOS使用Stripe整合支付寶Alipay支付iOS
- 淘寶商品詳情資料API介面php java pythonAPIPHPJavaPython
- 批量提取淘寶主圖、屬性圖、詳情圖
- 仿支付寶股票 猜漲跌ViewView
- 仿淘寶tabBar點選及滑動時logo和火箭?切換動畫tabBarGo動畫
- android支付寶首頁、螞蟻森林效果、視訊背景、校園電臺、載入收縮動畫等原始碼...Android動畫原始碼