iOS 仿支付寶首頁樣式(二)

ok咨跌,上一次我給大家用一種方法實現(xiàn)了簡單的支付寶首頁樣式吕晌。
上一篇文章:http://www.reibang.com/p/658f2aeafa64

那篇文章里面方法有個一弊端仆邓,就是UITableView的高度和Cell的總高度一致,也就是UITableView不能滑動绘闷,UITableViewCell的復用機制頁就不起作用了忆肾。哈哈,懶人版的支付寶首頁樣式是可以這樣完成的戏仓。

這里就給大家講解一種新的仿支付寶樣式的方法疚宇,這種方法只是使用一個UITableView,而且不用用兩個UIScrollView嵌套赏殃,很方便而且UITableViewCell的復用機制也可以放心的使用敷待。先上動圖(哈哈哈,雖然看上去和上一個樣式一樣仁热,但是真的是兩種不同的代碼????):


仿支付寶樣式(二).gif

接一下是層級關(guān)系圖片:


1.jpg
2.jpg

大家可以通過層級關(guān)系明確榜揖,此時整個控制器只有一個UITableView,我們在UITableView的taleViewHeaderView上添加一個支付的視圖股耽。

// 設(shè)置頭部視圖
    self.headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.lyf_width, kHeaderHeight)];
    // 將支付的視圖添加在頭部視圖上面
    [self.headerView addSubview:self.payView];
    
    self.tableHeaderView = self.headerView;

當UITableView滑動時根盒,改變self.payView的Y值,就可以實現(xiàn)視圖漸顯的動效物蝙,此時需要注意炎滞,需要動態(tài)改變self.headerView.layer.masksToBounds,至于原因嘛诬乞,大家可以思考一下册赛,實在想不明白就注釋一下對應(yīng)代碼再看效果:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat contentOffsetY = scrollView.contentOffset.y;
    if (self.contentOffsetAction) {
        self.contentOffsetAction(contentOffsetY);
    }
    
    if (contentOffsetY <= 0) {
        // 當偏移量小于0時,頭部視圖的Y值跟隨偏移量上移
        self.payView.lyf_y = contentOffsetY;
    } else {
        // 頭部視圖滾動差的效果
        self.payView.lyf_y = contentOffsetY/2;
    }
    
    self.payView.contentOffsetY = contentOffsetY;
    
    // 當contentOffsetY大于零時震嫉,打開裁剪功能森瘪。而小于零時,關(guān)閉裁剪
    // 大家如果想知道不這樣做的結(jié)果票堵,就試著注釋一下下面的代碼試一試??扼睬。
    self.headerView.layer.masksToBounds = contentOffsetY > 0;
}

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
    CGFloat contentOffsetY = scrollView.contentOffset.y;
    
    if (contentOffsetY < -kHeaderHeight / 2) {
        // 當結(jié)束滑動的偏移量小于-kHeaderHeight / 2,就開始刷新tableView
        [self.mj_header beginRefreshing];
    } else if (contentOffsetY > 0 && contentOffsetY < kHeaderHeight / 2) {
        // 當偏移量大于0并且小于kHeaderHeight / 2悴势,就把偏移量設(shè)置在CGPointMake(0, 0)
        [self setContentOffset:CGPointMake(0, 0) animated:YES];
    } else if (contentOffsetY > kHeaderHeight / 2 && contentOffsetY < kHeaderHeight) {
        // 當偏移量大于kHeaderHeight / 2并且小于kHeaderHeight窗宇,就把偏移量設(shè)置在CGPointMake(0, kHeaderHeight)
        [self setContentOffset:CGPointMake(0, kHeaderHeight) animated:YES];
    }
}

此時措伐,除了刷新控件在UITableViewHeaderView下面顯示的效果沒有實現(xiàn)外,其余的都很簡單军俊。那么最后就是實現(xiàn)這個效果了侥加,其實也很簡單,當大家設(shè)置好刷新方法之后粪躬,動態(tài)的改變其距離頂部的高度就可以了:

__weak __typeof(self)weakSelf = self;
    // 下拉刷新
    self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
        [weakSelf loadMoreData];
    }];
    self.tableView.mj_header.ignoredScrollViewContentInsetTop = -kHeaderHeight;

大家一定注意担败,self.tableView.mj_header.ignoredScrollViewContentInsetTop方法需要在設(shè)定好頭部刷新控件之后再調(diào)用。
ok镰官,代碼我會放在GitHub上面提前,喜歡的可以下載來看看,記得點個贊呦??朋魔。
GitHub:https://github.com/Fdevelopmenter/LYFTestAli2

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末岖研,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子警检,更是在濱河造成了極大的恐慌,老刑警劉巖害淤,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扇雕,死亡現(xiàn)場離奇詭異,居然都是意外死亡窥摄,警方通過查閱死者的電腦和手機镶奉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崭放,“玉大人哨苛,你說我怎么就攤上這事”疑埃” “怎么了建峭?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長决摧。 經(jīng)常有香客問我亿蒸,道長,這世上最難降的妖魔是什么掌桩? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任边锁,我火速辦了婚禮,結(jié)果婚禮上波岛,老公的妹妹穿的比我還像新娘茅坛。我一直安慰自己,他們只是感情好则拷,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布贡蓖。 她就那樣靜靜地躺著曹鸠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摩梧。 梳的紋絲不亂的頭發(fā)上物延,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音仅父,去河邊找鬼叛薯。 笑死,一個胖子當著我的面吹牛笙纤,可吹牛的內(nèi)容都是我干的耗溜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼省容,長吁一口氣:“原來是場噩夢啊……” “哼抖拴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起腥椒,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤阿宅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后笼蛛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洒放,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年滨砍,在試婚紗的時候發(fā)現(xiàn)自己被綠了往湿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡惋戏,死狀恐怖领追,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情响逢,我是刑警寧澤绒窑,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站龄句,受9級特大地震影響回论,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜分歇,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一傀蓉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧职抡,春花似錦葬燎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窑邦。三九已至,卻和暖如春壕探,著一層夾襖步出監(jiān)牢的瞬間冈钦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工李请, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞧筛,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓导盅,卻偏偏與公主長得像较幌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子白翻,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1乍炉、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,980評論 3 119
  • 二人剛將盒內(nèi)之物處置完畢,吳魏等人就已經(jīng)來到殿門之前滤馍,突見排骨林青二人站于殿內(nèi)岛琼,皆是一臉嘩然,野狗更是瞪大著雙眼:...
    巴茅山閱讀 1,663評論 29 61
  • 沒事的時候巢株,總愛拿出畫本畫畫衷恭,把燈光調(diào)成暖色,旁邊放一本水纯续,插上耳機,找出喜歡的音樂灭袁,邊聽歌邊畫畫猬错,是最愜意的...
    柒小如閱讀 258評論 0 2
  • Vue.js 的內(nèi)聯(lián)表達式非常方便,但它最合適的使用場景是簡單的布爾操作或字符串拼接茸歧。如果涉及更復雜的邏輯倦炒,你應(yīng)該...
    hutou閱讀 17,706評論 1 9
  • “凡是需要附加解釋的創(chuàng)作,都是失敗的”软瞎,簡短的兩句話道出了創(chuàng)作的真理逢唤,也是表演非常需要注意的點。最近一直在苦惱自己...
    薇薇安deStage閱讀 747評論 0 4