高仿花田小憩OC版

前段時候在簡書看博客時,看到Monkey_ALin 分享的高仿花田小憩(Swift版),項目整體不是太復雜,并且展示效果確實挺不錯的,就萌發了工作之余用OC仿寫的念頭。ps:主要是偷懶,不用再找UI,不用再找接口了,在這要非常感謝Monkey_ALin,節省了很多時間!

github下載地址swift版OC版

展示效果

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

我的部分

項目整體的實現邏輯與思路與Swift版的差不多,大家可以參照文章。另外完善了一些Swift版的部分問題。

完善部分

1.點擊導航欄左側按鈕出現下拉蒙版視圖

點擊導航欄左側按鈕出現下拉蒙版視圖

Swift版的,蒙版的Top約束是與當前 tableView的偏移量為參考點,當 tableView滑動時偏移量一直在改變,蒙版frame也會隨之改變,出現這種情況。所以解決這種情況,蒙版約束的參考物一定是固定的,剛開始我用navigationBar的底部為參照物,看似解決了這個問題,但是當點擊蒙版上的cell,進入下一個控制器的時候,navigationBar的位置竟然會發生改變,正常情況下,navigationBar(44)上面有狀態欄(20),當跳轉的時候狀態欄會消失,這就造成了,跳轉后返回時,蒙版會上移20(狀態欄高度)。為了解決這個問題想了很久,一直在鉆牛角尖,想著怎么在頂部找到或者添加一個固定的控件當做蒙版參照物, 但是在TableViewController上找到固定控件太麻煩了,最后用了最直接的方法,為控制器換個爹(代碼也拼爹。。)!把父類TableViewController換成 ViewController,以ViewControllerView的top為參考點。
總結:當遇到界面復雜的TableView時候,最好使用ViewController,方便擴展。

//設置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,然后根據webview的高度來確定cell 的高度。Swift版在webViewDidFinishLoad中使用webView.scrollView.contentSize.height取出高度,而我使用[[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];來拿到內容高度,通過打印用兩種方法拿到的高度,可以看出直接使用webView.scrollView.contentSize.heigh第一次拿到的高度在網絡不好時,有時候不準確,會造成cell內容展示不全。

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

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

3.商城模塊的容錯處理

商城模塊的容錯處理
輪播圖無數據時顯示

在商城模塊中,第一個自定義cell是一個輪播圖,后臺輪播數據非常不穩定,有時候請求結果為空,原版做了容錯處理,在請求數據為空的時候,不顯示第一個輪播cell.OC版完善了容錯處理。

4.完善了訂單頁 增加添加發票地址

訂單頁
訂單頁

后記:

用OC仿寫后,與swift相對比。swift這門語言及其精簡優雅,代碼量以及文件量只有OC的一半左右。所以,兄弟們,閑暇之余不要忘了swift,swift才是以后的主流.另外項目中有一個bug,沒有解決,有興趣的可以下載項目后,找到帶有警告的那個標注(唯一的警告處),解決后私信交流交流,感覺項目對自己技術有幫助的,歡迎start,鼓勵一下。**github:OC版 swift版 **

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,119評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,382評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,038評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,853評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,616評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,112評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,192評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,355評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,869評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,727評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,928評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,467評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,165評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,570評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,813評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,585評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,892評論 2 372

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,151評論 4 61
  • 今天的心理課的主題是“人為什么痛苦?” 老師始終在提醒我們,用心理學的思維去思考問題。 為了說明這個觀點,他弄了一...
    聆心2016閱讀 358評論 0 2
  • Analyze --> Code Cleanup 場景一: 場景二: 場景三:
    SimonZhang閱讀 6,146評論 0 0
  • 愛你,注定是孤獨的 愛你,注定是分離 時間讓我看清了心 抹不掉的你 此生,無緣 十字路口,你向左,我向右 歲月靜好...
    美麗琴琴閱讀 304評論 0 0