iOS笔记【单元格右滑手势】 2017-09-09

// 响应单元格右滑手势
override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
        let actionShare = UITableViewRowAction(style: .normal, title: "分享") { (_,IndexPath) in
            // 定义滑动菜单样式和标题
            let actionSheet = UIAlertController(title: "分享到", message: nil, preferredStyle: .actionSheet)
            // 定义按钮
            let optionQQ = UIAlertAction(title: "QQ", style: .default, handler: nil)
            let optionWeiXin = UIAlertAction(title: "微信", style: .default, handler: nil)
            let optionCancel = UIAlertAction(title: "取消", style: .cancel, handler: nil)
            // 把option操作添加到actionSheet中
            actionSheet.addAction(optionQQ)
            actionSheet.addAction(optionWeiXin)
            actionSheet.addAction(optionCancel)
            // 显示
            self.present(actionSheet, animated: true, completion: nil)
        }
        // 配置按钮颜色
        actionShare.backgroundColor = UIColor.orange
        let actionDel = UITableViewRowAction(style: .destructive, title: "删除") { (_, IndexPath) in
            // 删除相对应的每行数据
            self.areaImages.remove(at: indexPath.row)
            self.areaProvice.remove(at: indexPath.row)
            self.areas.remove(at: indexPath.row)
            self.areaType.remove(at: indexPath.row)
            self.visted.remove(at: indexPath.row)
            // Delete the row from the data source
            tableView.deleteRows(at: [indexPath], with: .fade)

        }

        let actionTop = UITableViewRowAction(style: .default, title: "置顶") { (_, _) in

        }
        actionTop.backgroundColor=UIColor(red: 245/255, green: 199/255, blue: 221/255, alpha: 1)

        // 返回滑动子菜单数组
        return [actionShare,actionDel,actionTop]
    }
时间: 2024-11-08 19:17:40

iOS笔记【单元格右滑手势】 2017-09-09的相关文章

IOS开发—IOS自定义任意位置右滑POP视图控制器

IOS自定义任意位置右滑POP视图控制器 IOS7.0之后系统提供了原生的从左边缘滑动pop出栈的方法,也可以自定义左边缘pop出栈,将在下一篇介绍,本篇介绍通过添加手势的方法实现IOS当前屏幕任意位置(非指定左边缘)右滑pop视图控制器出栈.代码如下: // // LXXPopViewController.m // 任意点右滑Pop // // Created by Lotheve on 15/6/12. // Copyright (c) 2015年Lotheve. All rights re

iOS7 NavigationController 右滑手势问题

苹果一直都在人机交互中尽力做到极致,在iOS7中,新增加了一个小小的功能,也就是这个api:self.navigationController.interactivePopGestureRecognizer.enabled = YES; 这个api功能就是在NavigationController堆栈内的UIViewController可以支持右滑手势,也就是不用点击右上角的返回 按钮,轻轻在屏幕左边一滑,屏幕就会返回,随着ios设备屏幕的增大,这个小功能让手指短,拇指大和手残人士看到了福音.

关于使用navigationController,前后2个视图控制器navigationBar隐藏属性不同,导致右滑手势失效问题的解决办法

###1.问题描述:如A是navigationController的rootViewController,在这个页面navigationBar是显示的(隐藏属性为NO),它push圧栈过来B视图控制器,B页面navigationBar是不显示的(隐藏属性为YES),有一定几率会出现,B要右滑pop自己要圧栈A时,右滑手势会失效,即使B中设置 self.navigationController.interactivePopGestureRecognizer.enabled = YES也不起作用##

IOS开发单元格自定义方法之一

第一种方法是直接写一个继承UITableViewCell.然后动态的添加子视图方式 具体步骤: 1.新建立一个cell类,继承UITableViewCell 2.在这个类里面,定义属性,比如UILabel 3.重载构造函数,把子视图添加上 4.可以使用这个类了. CityCellTableViewCell类: // // CityCellTableViewCell.swift // UITableViewDemo0 // // Created by 王丰 on 7/27/15. // Copyr

右滑退出手势及隐藏导航栏存在的风险

右滑手势 基本原理: interactivePopGestureRecognizer.enabled在正常情况下控制手势是否可用,默认是可用状态 如果重写了返回按钮, 需要设置interactivePopGestureRecognizer.delegate才能重新启动手势功能 调用时机: 改变手势设置和恢复手势设置应该在viewDidAppear: 和viewWillDisappear: 里成对调用 其他: viewWillAppear:等函数里应该调用super的对应函数. 现有问题 当在vi

App开发流程之右滑返回手势功能

iOS7以后,导航控制器,自带了从屏幕左边缘右滑返回的手势功能. 但是,如果自定义了导航栏返回按钮,这项功能就失效了,需要自行实现.又如果需要修改手势触发范围,还是需要自行实现. 广泛应用的一种实现方案是,采用私有变量和Api,完成手势交互和返回功能,自定义手势触发条件和额外功能. 另一种实现方案是,采用UINavigationController的代理方法实现交互和动画: - (nullable id <UIViewControllerInteractiveTransitioning>)na

截获导航控制器系统返回按钮的点击pop及右滑pop事件

前几天看了@栾小布的一篇文章:Custom backBarButtonItem,在跟着做的时候我又顺便扩展了一些,写此文章的目的是为了总结一下自己所写的东西,方便以后翻看容易,同时也是自己入行iOS一年时间,希望写点东西练练手,还有希望可以分享给大家,希望大家一同讨论,提出宝贵意见以及更简单的实现.总体效果如下: 同时受@J_雨的轻松学习之——IOS利用Runtime自定义控制器POP手势动画一文影响,所以我们将用两种方法实现. 实现思路 每一个navigationController都自带有一

android开发步步为营之72:右滑关闭Activity

通过右滑手势关闭当前Activity,这个是很常见的需求,网上参考过几篇文章发现实现都比较复杂,他们大多自己另外写了个Layout,然后这个Layout当做页面的布局,经测试其实有更简单一点的方法,写个BaseActivity,其他Activity继承即可.这里给出代码,大家测试看看.有问题回馈一下,谢谢! package com.figo.study.activity; import android.app.Activity; import android.os.Bundle; import

Cell右滑 多个编辑选项栏

简单粗暴,一看就能明白 关于右滑cell,能滑出来两个以上的选项栏,可以如下这么做,但是要注意下面的注意事项,就是关于iOS8前后的问题,注释写的很清楚了.可以直接复制到自己的代码里看的会更明白. 1 //允许cell可以进行编辑 2 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{ 3 return YES; 4 } 5 //cell的编辑类型 6 - (UITa