iOS淘寶列表長(zhǎng)按效果實(shí)現(xiàn)

項(xiàng)目中需要做一個(gè)如下和淘寶相同的長(zhǎng)按的交互:

淘寶效果

首先分析要點(diǎn):

  • 運(yùn)用在TableView或者CollectionView上的cell上
  • 在列表進(jìn)行滑動(dòng)是會(huì)隱藏效果
  • 長(zhǎng)按下一個(gè)會(huì)自動(dòng)隱藏掉上一個(gè)cell的長(zhǎng)按操作

實(shí)現(xiàn)思路

  • 給cell添加長(zhǎng)按手勢(shì)
  • 創(chuàng)建一個(gè)和要求效果相同的視圖柬焕,添加到當(dāng)前cell上
  • 添加動(dòng)畫(huà)效果

根據(jù)以上思路效果基本完成但是還存在一下問(wèn)題:

  • 如何在滾動(dòng)時(shí)取消界面上的長(zhǎng)按視圖有送?
  • 如何在下一個(gè)長(zhǎng)按事件出現(xiàn)時(shí)枉侧,隱藏上一個(gè)事件票堵?

封裝占锯,自然盡量減少控件的使用復(fù)雜度
問(wèn)題1:

  在長(zhǎng)按視圖中添加獲取當(dāng)前長(zhǎng)按View的父視圖添加監(jiān)聽(tīng)事件
[_viewController addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionNew context:nil];

在監(jiān)聽(tīng)到contentOffset發(fā)生變化時(shí),隱藏當(dāng)前長(zhǎng)按視圖聚霜。

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if ([keyPath isEqualToString:@"contentOffset"]) {
        [self dismiss];
    }
}

問(wèn)題2:
解決方法有很多種雨效,如何在使用時(shí)做的操作最少?
通過(guò)工廠方法添怔,創(chuàng)建的長(zhǎng)按視圖湾戳,在新的視圖創(chuàng)建成功時(shí),將舊的視圖dismiss掉广料。

+ (instancetype)shareManager {
    static LongPressFactory *shareManager = nil;
    static dispatch_once_t once;
    dispatch_once(&once, ^{
        shareManager = [[self alloc] init];
    });
    return shareManager;
}

- (LongPressView *)createLongPress {
    
    LongPressView *press = [[LongPressView alloc] init];
    
    [self resetFactory];
    
    [self.factoryGoods addObject:press];
    
    return press;
}

- (void)resetFactory {
    for (LongPressView *lpView in self.factoryGoods) {
        [lpView dismiss];
    }
    
    [self.factoryGoods removeAllObjects];
    
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末砾脑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子艾杏,更是在濱河造成了極大的恐慌韧衣,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件购桑,死亡現(xiàn)場(chǎng)離奇詭異畅铭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)勃蜘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)硕噩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人缭贡,你說(shuō)我怎么就攤上這事炉擅。” “怎么了阳惹?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵谍失,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我莹汤,道長(zhǎng)快鱼,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任体啰,我火速辦了婚禮攒巍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘荒勇。我一直安慰自己柒莉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布沽翔。 她就那樣靜靜地躺著兢孝,像睡著了一般窿凤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上跨蟹,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天雳殊,我揣著相機(jī)與錄音,去河邊找鬼窗轩。 笑死夯秃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的痢艺。 我是一名探鬼主播仓洼,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼堤舒!你這毒婦竟也來(lái)了色建?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤舌缤,失蹤者是張志新(化名)和其女友劉穎箕戳,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體国撵,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陵吸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卸留。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片走越。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖耻瑟,靈堂內(nèi)的尸體忽然破棺而出旨指,到底是詐尸還是另有隱情,我是刑警寧澤喳整,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布谆构,位于F島的核電站,受9級(jí)特大地震影響框都,放射性物質(zhì)發(fā)生泄漏搬素。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一魏保、第九天 我趴在偏房一處隱蔽的房頂上張望熬尺。 院中可真熱鬧,春花似錦谓罗、人聲如沸粱哼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)揭措。三九已至胯舷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绊含,已是汗流浹背桑嘶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留躬充,地道東北人逃顶。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像麻裳,于是被迫代替她去往敵國(guó)和親口蝠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子器钟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)津坑、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,024評(píng)論 4 62
  • 翻譯自“Collection View Programming Guide for iOS” 0 關(guān)于iOS集合視...
    lakerszhy閱讀 3,830評(píng)論 1 22
  • 從見(jiàn)你的第一面,就喜歡上了昙啄。你是我上高中以來(lái)穆役,在一次喜歡上的男生。沒(méi)想到在大學(xué)相遇了梳凛。這一次的相遇耿币,心以隨你而...
    Sophie_e2fa閱讀 197評(píng)論 1 0
  • 〖堅(jiān)持看到底有驚喜!不要被開(kāi)頭的殺馬特嚇跑了〗 我平時(shí)比較喜歡畫(huà)畫(huà)?_? 雖然畫(huà)的不好……但是韧拒!我身殘志堅(jiān)Q徒印(什么...
    小獅嘰QAQ閱讀 699評(píng)論 16 10