高仿花田小憩OC版

前段時候在簡書看博客時抚吠,看到Monkey_ALin 分享的高仿花田小憩(Swift版)覆劈,項(xiàng)目整體不是太復(fù)雜欲险,并且展示效果確實(shí)挺不錯的,就萌發(fā)了工作之余用OC仿寫的念頭姐霍。ps:主要是偷懶鄙麦,不用再找UI,不用再找接口了镊折,在這要非常感謝Monkey_ALin,節(jié)省了很多時間介衔!

github下載地址swift版OC版

展示效果

專題部分1
專題部分2
商城部分1
商城部分2

我的部分

項(xiàng)目整體的實(shí)現(xiàn)邏輯與思路與Swift版的差不多恨胚,大家可以參照文章。另外完善了一些Swift版的部分問題炎咖。

完善部分

1.點(diǎn)擊導(dǎo)航欄左側(cè)按鈕出現(xiàn)下拉蒙版視圖

點(diǎn)擊導(dǎo)航欄左側(cè)按鈕出現(xiàn)下拉蒙版視圖

Swift版的赃泡,蒙版的Top約束是與當(dāng)前 tableView的偏移量為參考點(diǎn)寒波,當(dāng) tableView滑動時偏移量一直在改變,蒙版frame也會隨之改變升熊,出現(xiàn)這種情況俄烁。所以解決這種情況,蒙版約束的參考物一定是固定的级野,剛開始我用navigationBar的底部為參照物页屠,看似解決了這個問題,但是當(dāng)點(diǎn)擊蒙版上的cell蓖柔,進(jìn)入下一個控制器的時候辰企,navigationBar的位置竟然會發(fā)生改變,正常情況下况鸣,navigationBar(44)上面有狀態(tài)欄(20)牢贸,當(dāng)跳轉(zhuǎn)的時候狀態(tài)欄會消失,這就造成了镐捧,跳轉(zhuǎn)后返回時潜索,蒙版會上移20(狀態(tài)欄高度)。為了解決這個問題想了很久懂酱,一直在鉆牛角尖竹习,想著怎么在頂部找到或者添加一個固定的控件當(dāng)做蒙版參照物, 但是在TableViewController上找到固定控件太麻煩了玩焰,最后用了最直接的方法由驹,為控制器換個爹(代碼也拼爹。昔园。)蔓榄!把父類TableViewController換成 ViewController,以ViewControllerView的top為參考點(diǎn)默刚。
總結(jié):當(dāng)遇到界面復(fù)雜的TableView時候甥郑,最好使用ViewController,方便擴(kuò)展荤西。

//設(shè)置blurView的約束
        [self.blurView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(self.tableView);

            make.top.equalTo(self.view.mas_top);

            make.size.mas_equalTo(CGSizeMake(MY_WIHTE, MY_HEIGHT-49-64));
        }];

2.詳情頁webview的高度

詳情頁webview的高度

詳情頁用H5頁面展示的澜搅,cell里面嵌套一個webview,然后根據(jù)webview的高度來確定cell 的高度邪锌。Swift版在webViewDidFinishLoad中使用webView.scrollView.contentSize.height取出高度勉躺,而我使用[[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];來拿到內(nèi)容高度,通過打印用兩種方法拿到的高度觅丰,可以看出直接使用webView.scrollView.contentSize.heigh第一次拿到的高度在網(wǎng)絡(luò)不好時饵溅,有時候不準(zhǔn)確,會造成cell內(nèi)容展示不全妇萄。

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    //加載本地的JS文件
    NSString *jsStr = [NSString stringWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"image" withExtension:@"js"] encoding:NSUTF8StringEncoding error:nil];
    [webView stringByEvaluatingJavaScriptFromString:jsStr];
    //為每個圖片添加點(diǎn)擊事件
    [webView stringByEvaluatingJavaScriptFromString:@"setImageClick()"];

     NSInteger height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];
    //避免浪費(fèi)性能蜕企,所以計(jì)算一次高度即可
    if (!self.isFinishLoad && webView.scrollView.contentSize.height > 0) {
        self.isFinishLoad = YES ;
        self.cellHeigth = height;
//#warning 使用這個方法算出的高度不準(zhǔn)
//        self.cellHeigth = webView.scrollView.contentSize.height;
    }
}

3.商城模塊的容錯處理

商城模塊的容錯處理
輪播圖無數(shù)據(jù)時顯示

在商城模塊中咬荷,第一個自定義cell是一個輪播圖,后臺輪播數(shù)據(jù)非常不穩(wěn)定轻掩,有時候請求結(jié)果為空幸乒,原版做了容錯處理,在請求數(shù)據(jù)為空的時候唇牧,不顯示第一個輪播cell.OC版完善了容錯處理罕扎。

4.完善了訂單頁 增加添加發(fā)票地址

訂單頁
訂單頁

后記:

用OC仿寫后,與swift相對比奋构。swift這門語言及其精簡優(yōu)雅壳影,代碼量以及文件量只有OC的一半左右。所以弥臼,兄弟們宴咧,閑暇之余不要忘了swift,swift才是以后的主流.另外項(xiàng)目中有一個bug,沒有解決径缅,有興趣的可以下載項(xiàng)目后掺栅,找到帶有警告的那個標(biāo)注(唯一的警告處),解決后私信交流交流纳猪,感覺項(xiàng)目對自己技術(shù)有幫助的氧卧,歡迎start,鼓勵一下。**github:OC版 swift版 **

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氏堤,一起剝皮案震驚了整個濱河市沙绝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鼠锈,老刑警劉巖闪檬,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異购笆,居然都是意外死亡粗悯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進(jìn)店門同欠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來样傍,“玉大人,你說我怎么就攤上這事铺遂∩栏纾” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵襟锐,是天一觀的道長炕檩。 經(jīng)常有香客問我,道長捌斧,這世上最難降的妖魔是什么笛质? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮捞蚂,結(jié)果婚禮上妇押,老公的妹妹穿的比我還像新娘。我一直安慰自己姓迅,他們只是感情好敲霍,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丁存,像睡著了一般肩杈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上解寝,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天扩然,我揣著相機(jī)與錄音,去河邊找鬼聋伦。 笑死夫偶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的觉增。 我是一名探鬼主播兵拢,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逾礁!你這毒婦竟也來了说铃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤嘹履,失蹤者是張志新(化名)和其女友劉穎腻扇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體植捎,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衙解,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了焰枢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚓峦。...
    茶點(diǎn)故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖济锄,靈堂內(nèi)的尸體忽然破棺而出暑椰,到底是詐尸還是另有隱情,我是刑警寧澤荐绝,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布一汽,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏召夹。R本人自食惡果不足惜岩喷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望监憎。 院中可真熱鬧纱意,春花似錦、人聲如沸鲸阔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽褐筛。三九已至类少,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渔扎,已是汗流浹背硫狞。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赞警,地道東北人妓忍。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像愧旦,于是被迫代替她去往敵國和親世剖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評論 2 349

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫笤虫、插件旁瘫、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評論 4 62
  • 今天的心理課的主題是“人為什么痛苦?” 老師始終在提醒我們琼蚯,用心理學(xué)的思維去思考問題酬凳。 為了說明這個觀點(diǎn),他弄了一...
    聆心2016閱讀 347評論 0 2
  • Analyze --> Code Cleanup 場景一: 場景二: 場景三:
    SimonZhang閱讀 6,126評論 0 0
  • 愛你遭庶,注定是孤獨(dú)的 愛你宁仔,注定是分離 時間讓我看清了心 抹不掉的你 此生,無緣 十字路口峦睡,你向左翎苫,我向右 歲月靜好...
    美麗琴琴閱讀 298評論 0 0