iOS 3D Touch 預(yù)覽特定的 UITableViewCell 視圖 - 改

具體應(yīng)用場(chǎng)景看簡(jiǎn)書首頁(yè)檩奠、微博首頁(yè), 實(shí)現(xiàn)預(yù)覽的效果, 而下面是我做的效果圖


預(yù)覽.png

預(yù)覽

在開始之前

UIViewControllerPreviewingDelegate // 簽訂這個(gè)協(xié)議

Objective-C版本

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellId"];
    // 對(duì)每個(gè)cell指定代理, 大致是這個(gè)意思
    [self registerForPreviewingWithDelegate:self sourceView:cell];
    //
    cell.textLabel.text = self.arrayData[indexPath.row];
    return cell;
}
#pragma mark - peek的代理方法桩了,輕按即可觸發(fā)彈出vc
- (UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location{
    //通過(guò)[previewingContext sourceView]拿到對(duì)應(yīng)的cell的數(shù)據(jù);
    NSIndexPath *indexPath = [_tableView indexPathForCell:(UITableViewCell* )[previewingContext sourceView]];
    // 用于顯示預(yù)覽的vc
    ListViewController *listVc = [[ListViewController alloc] init];
    // 演示的是傳入一個(gè)字符串 , 實(shí)際可能是你需要的model
    listVc.strText = [self.arrayData objectAtIndex:indexPath.row];
    return listVc;
}
#pragma mark -  pop的代理方法埠戳,在此處可對(duì)將要進(jìn)入的vc進(jìn)行處理
- (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit
{
}

在 ListViewController 中我用一個(gè)label作為演示的, 您可能還需要添加底部菜單(類似于 收藏 喜歡這樣)

-(NSArray<id<UIPreviewActionItem>> *)previewActionItems
 {
     UIPreviewAction * action1 = [UIPreviewAction actionWithTitle:@"收藏" style:1 handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
            NSLog(@"收藏");
    }];

     UIPreviewAction * action2 = [UIPreviewAction actionWithTitle:@"喜歡" style:0 handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
            NSLog(@"喜歡");

     }];
     NSArray *items = @[action1,action2];
     return items;
}

Swift版本

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        // 指定代理人
        if #available(iOS 9.0, *) {
            self.registerForPreviewingWithDelegate(self, sourceView: cell)
        } else {
            // Fallback on earlier versions
        }
    }
/// MARK: - peek的代理方法, 長(zhǎng)按觸發(fā)彈出預(yù)覽VC
    func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
        let preVC = PreviewViewController()
        if #available(iOS 9.0, *) {
            let indexPath = self.tableView.indexPathForCell((previewingContext.sourceView) as! AlamofieCustomCell)! as NSIndexPath
            preVC.preViewModel = self.dataArray[indexPath.row] as! AlamofireVCModel
        } else {
            // Fallback on earlier versions
        }
        return preVC
    }
/// MARK: - pop的代理方法井誉,在此處可對(duì)將要進(jìn)入的vc進(jìn)行處理
    func previewingContext(previewingContext: UIViewControllerPreviewing, commitViewController viewControllerToCommit: UIViewController) {
        // code
    }
@available(iOS 9.0, *)
    override func previewActionItems() -> [UIPreviewActionItem] {
        var items = [UIPreviewAction]()
        let action1 = UIPreviewAction.init(title: "收藏", style: UIPreviewActionStyle.Default, handler: { (action: UIPreviewAction, previewViewController: UIViewController) in
                print("收藏")
            })
            
        let action2 = UIPreviewAction.init(title: "喜歡", style: UIPreviewActionStyle.Default, handler: { (action: UIPreviewAction, previewViewController: UIViewController) in
                print("喜歡")
            })    
        items.append(action1)
        items.append(action2)
        return items;
    }

iOS9:預(yù)覽特定的 UITableViewCell 視圖
更新文章標(biāo)題 - -- 時(shí)間: 2016.07.11 早九點(diǎn)
更新swift - -- 時(shí)間: 2016.07.19 早

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市整胃,隨后出現(xiàn)的幾起案子屁使,更是在濱河造成了極大的恐慌蛮寂,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異骄恶,居然都是意外死亡尉咕,警方通過(guò)查閱死者的電腦和手機(jī)年缎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蜕该,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)堂淡,“玉大人绢淀,你說(shuō)我怎么就攤上這事皆的√E瑁” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵伟众,是天一觀的道長(zhǎng)凳厢。 經(jīng)常有香客問我数初,道長(zhǎng),這世上最難降的妖魔是什么寺谤? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任变屁,我火速辦了婚禮粟关,結(jié)果婚禮上闷板,老公的妹妹穿的比我還像新娘遮晚。我一直安慰自己县遣,他們只是感情好萧求,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布搁拙。 她就那樣靜靜地躺著法绵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪徙赢。 梳的紋絲不亂的頭發(fā)上探越,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天鲤氢,我揣著相機(jī)與錄音卷玉,去河邊找鬼威恼。 笑死箫措,一個(gè)胖子當(dāng)著我的面吹牛蒂破,可吹牛的內(nèi)容都是我干的附迷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼捻悯!你這毒婦竟也來(lái)了今缚?” 一聲冷哼從身側(cè)響起姓言,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤囱淋,失蹤者是張志新(化名)和其女友劉穎餐塘,沒想到半個(gè)月后戒傻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稠鼻,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年慌盯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了亚皂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡禁漓,死狀恐怖播歼,靈堂內(nèi)的尸體忽然破棺而出秘狞,到底是詐尸還是另有隱情,我是刑警寧澤雇初,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站呻畸,受9級(jí)特大地震影響悼院,放射性物質(zhì)發(fā)生泄漏据途。R本人自食惡果不足惜颖医,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一糖驴、第九天 我趴在偏房一處隱蔽的房頂上張望贮缕。 院中可真熱鬧感昼,春花似錦定嗓、人聲如沸蜕乡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)线椰。三九已至憨愉,卻和暖如春配紫,著一層夾襖步出監(jiān)牢的瞬間躺孝,已是汗流浹背植袍。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留览濒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像尤筐,于是被迫代替她去往敵國(guó)和親盆繁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子油昂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件厕妖、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,103評(píng)論 4 62
  • 今天已經(jīng)是實(shí)習(xí)的第19天了,前幾天就想寫一下東西了举畸,希望以后的自己可以回憶起來(lái)俱恶,有那么幾個(gè)證據(jù)證明我努力過(guò)合是。 細(xì)細(xì)...
    spongeboblhy閱讀 310評(píng)論 2 3
  • 2017.4.24 晴 星期一 閨女睡了,作業(yè)還沒寫完难礼,明天要考試了蛾茉,困就讓她睡吧,養(yǎng)足精神才能好好發(fā)揮键思。寫...
    廈門路小學(xué)邵藝馨媽媽閱讀 207評(píng)論 0 2
  • 一切都不會(huì)過(guò)去赔桌,無(wú)論是如歷史般以透明形式存在的精髓抑或是你所看到的這一個(gè)完美或不完美的世界碱茁,如破鏡重圓留下的痕跡,...
    話嘮_xixi閱讀 6,285評(píng)論 0 0
  • 通過(guò)第一天的訓(xùn)練队伟,我想我最大的一個(gè)收獲就是: 遇到困難或者挫折等問題我的反應(yīng)將會(huì)是興奮的嗜侮、激昂的顷霹、熱血沸騰的。 因...
    故里草木生閱讀 191評(píng)論 0 0