記DZNEmpetyDataSet 使用中遇到的坑

最近在項目中引入了一個第三方的展示空視圖的一個庫撰糠, DZNEmpetyDataSet 這個庫是為scrollView寫的一個擴展色查,可以很方便的設(shè)置空視圖评也。但是在使用過程中還是遇到了些坑误算,

  1. 關(guān)于自定義視圖問題必孤。我們都知道DZNEmpetyDataSet 提供了很方便的代理設(shè)置自定義的文字和圖標持隧,但是如果需求更復雜時晒来,可以通過自定義一個view來展示鹿响。這里如果直接自定義一個View是無法展示的肛度。
    當時也是懵逼了傻唾,進到官方說明也是只有。
- (UIView *)customViewForEmptyDataSet:(UIScrollView *)scrollView
{
    UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    [activityView startAnimating];
    return activityView;
}

感覺自己沒有使用錯誤啊承耿,copy官方這段代碼冠骄。。哎加袋,可以展示菊花凛辣。但是return我自定義的View怎么是空白的。郁悶ing..
查看源碼锁荔,發(fā)現(xiàn)內(nèi)部是使用AutoLayout 來做的約束布局蟀给。自定義的View內(nèi)部的布局是:

 // If applicable, set the custom view's constraints
    if (_customView) {
        [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[customView]|" options:0 metrics:nil views:@{@"customView":_customView}]];
        [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[customView]|" options:0 metrics:nil views:@{@"customView":_customView}]];
    }
    else {

猜測有可能父視圖的frame 蝙砌,是根據(jù)子視圖約束的,當前我返回的customView并沒有做自身的約束跋理,發(fā)現(xiàn)這點后择克,添加內(nèi)部子控件約束,限制父視圖的寬高前普。果然就可以顯示了肚邢。。

  1. 這個問題應該來說不屬于DZNEmpetyDataSet但是是在使用的時候發(fā)現(xiàn)拭卿,所以也就放在這里說一下骡湖。
    我們都知道在使用DZNEmpetyDataSet 如果想展示提示圖標只需要實現(xiàn)這個代理方法返回一個UIImage對象就可以了。
// 設(shè)置圖片
- (UIImage *) imageForEmptyDataSet:(UIScrollView *)scrollView {
    return [UIImage imageNamed:@"icon_Nonetwork"];
}

但是在實際使用中峻厚,我們有些頁面是不需要展示圖標的响蕴。所以我這里改成了這樣。

// 設(shè)置圖片
- (UIImage *) imageForEmptyDataSet:(UIScrollView *)scrollView {
    if (!self.viewModel.errorMessage) return [UIImage new];
    return [UIImage imageNamed:@"icon_Nonetwork"];
}

看著貌似沒有什么問題吧惠桃。
但是浦夷,在項目上線之后,發(fā)現(xiàn)忽然增加了很多的線上崩潰辜王,都是定位在這里劈狐,都是壞內(nèi)存訪問。

   view.verticalSpace = [self dzn_verticalSpace];
            
            // Configure Image
            if (image) {
                if ([image respondsToSelector:@selector(imageWithRenderingMode:)]) {
                    view.imageView.image = [image imageWithRenderingMode:renderingMode];
                    view.imageView.tintColor = imageTintColor;
                }
                else {
                    // iOS 6 fallback: insert code to convert imaged if needed
                    view.imageView.image = image;
                }
            }

又是一陣懵逼呐馆,怎么可能啊肥缔,,汹来,什么情況续膳。
經(jīng)過層層的排查,最后定位到是外部 返回[UIImage new]這個方法造成的收班。但是在我們測試時并沒有崩潰啊姑宽,最后發(fā)現(xiàn),在ios 11.3 -- 11.4 是沒有問題的闺阱,但是11.0 之后的老的系統(tǒng),如果是通過[UIImage new] 這個方法創(chuàng)建的image對象舵变,是不能調(diào)用imageWithRenderingMode 這個方法的酣溃。但是在11.3之后,蘋果爸爸貌似又修復了這個問題纪隙。查看了下官方文檔也沒發(fā)現(xiàn)什么說明的赊豌。只在網(wǎng)上看到了這句話。

QQ20180705-222809@2x.png


真的是人生處處都是坑啊绵咱,一不小心就栽個狗吃屎碘饼。。搬磚不易,且行且珍惜艾恼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末住涉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子钠绍,更是在濱河造成了極大的恐慌舆声,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柳爽,死亡現(xiàn)場離奇詭異媳握,居然都是意外死亡,警方通過查閱死者的電腦和手機磷脯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門蛾找,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赵誓,你說我怎么就攤上這事打毛。” “怎么了架曹?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵隘冲,是天一觀的道長。 經(jīng)常有香客問我绑雄,道長展辞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任万牺,我火速辦了婚禮罗珍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脚粟。我一直安慰自己覆旱,他們只是感情好,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布核无。 她就那樣靜靜地躺著扣唱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪团南。 梳的紋絲不亂的頭發(fā)上噪沙,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機與錄音吐根,去河邊找鬼正歼。 笑死,一個胖子當著我的面吹牛拷橘,可吹牛的內(nèi)容都是我干的局义。 我是一名探鬼主播喜爷,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼萄唇!你這毒婦竟也來了檩帐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤穷绵,失蹤者是張志新(化名)和其女友劉穎轿塔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仲墨,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡勾缭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了目养。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俩由。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖癌蚁,靈堂內(nèi)的尸體忽然破棺而出幻梯,到底是詐尸還是另有隱情,我是刑警寧澤努释,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布碘梢,位于F島的核電站,受9級特大地震影響伐蒂,放射性物質(zhì)發(fā)生泄漏煞躬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一逸邦、第九天 我趴在偏房一處隱蔽的房頂上張望恩沛。 院中可真熱鬧,春花似錦缕减、人聲如沸雷客。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搅裙。三九已至,卻和暖如春裹芝,著一層夾襖步出監(jiān)牢的瞬間呈宇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工局雄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人存炮。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓炬搭,卻偏偏與公主長得像蜈漓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宫盔,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

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