cell左右滑动展开更多按钮-MGSwipeTableCell

MGSwipeTableCell是一个UITableViewCell的子类,

它实现了左,右滑动展开更多按钮用来实现一些相关操作就和QQ好友列表滑动展开的按钮一样,封装的很好,动画效果也处理很到位,废话不多说,我们来看下它的简单集成

1.写一个类来继承他,和UITableView一样的使用

2.设置代理delegate,并且实现协议MGSwipeTableCellDelegate的一些方法

1 #pragma mark - MGSwipeTableCellDelegate


 3 - (NSArray *)swipeTableCell:(MGSwipeTableCell *)cell swipeButtonsForDirection:(MGSwipeDirection)direction swipeSettings:(MGSwipeSettings *)swipeSettings expansionSettings:(MGSwipeExpansionSettings *)expansionSettings {
 4     //左边
 5     expansionSettings.fillOnTrigger = YES;
 6     if (direction == MGSwipeDirectionLeftToRight) {
 7 
 8         //返回的数组必须是button类型的
 9         return @[[MGSwipeButton buttonWithTitle:@"哈哈" icon:nil backgroundColor:[UIColor redColor] padding:15 callback:^BOOL(MGSwipeTableCell * sender){
10             NSLog(@"Convenience callback received (left).");
11             return YES;
12         }],[MGSwipeButton buttonWithTitle:@"哈哈" icon:nil backgroundColor:[UIColor redColor] padding:15 callback:^BOOL(MGSwipeTableCell * sender){
13             NSLog(@"Convenience callback received (left).");
14             return YES;
15         }]];
16     }
17     //右边
18     else {
19         UIButton *view = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];
20         view.userInteractionEnabled = YES;
21         view.backgroundColor = [UIColor yellowColor];
22         return @[view];
23     }
24 }
25 
26 
27 - (BOOL)swipeTableCell:(MGSwipeTableCell *)cell tappedButtonAtIndex:(NSInteger)index direction:(MGSwipeDirection)direction fromExpansion:(BOOL)fromExpansion {
28     NSLog(@"%ld:%ld ",index,direction);
29     return YES;
30 }

3.可以运行查看效果了

github链接:https://github.com/MortimerGoro/MGSwipeTableCell

时间: 2024-12-24 12:07:07

cell左右滑动展开更多按钮-MGSwipeTableCell的相关文章

IOS开发——UI进阶篇(四)全局刷新,局部刷新,左滑操作,左滑出现更多按钮,进入编辑模式,批量删除,自定义批量删除

首先创建项目,在storyboard如下布局控件,设置好约束 然后创建cell模型类XMGWineCell数据模型类XMGWine创建UITableView,设置数据源协议,实现数据源方法懒加载数据这些在前面已经做过很多次了,代码就不一一写了 一.全局刷新 1.添加单组数据并全局刷新 - (IBAction)add { // 添加模型数据 XMGWine *wine = [[XMGWine alloc] init]; wine.money = @"20.5"; wine.name =

Android Demo之旅 ListView底部添加加载更多按钮实现数据分页

在我们的实际项目中,数据应该说是很多的,我们的ListView不可能一下子把数据全部加载进来,我们可以当滚动条滚动到ListView的底部的时候,给一个更多的提示,当我们点击它即加载下一页的数据,相当与我们的分页效果,参考网上的东西,写了一个小小的demo,并总结了一些知识点,功能图如下:    源代码下载地址:http://download.csdn.net/detail/harderxin/7762625 掌握知识点: 1)自定义Adapter,将数据和ListView绑定起来 2)理解La

ExpandableListView实现展开更多和收起更多

[需求]: 如上面图示 当点开某个一级菜单的时候,其他菜单收起: 子级菜单默认最多5个: 多于5个的显示"展开更多" 点击"展开更多",展开该级所有子级菜单,同时显示"收起更多" [代码]: @Bind(R.id.exp_listview)ExpandableListView expListview; adapter = new MyAdapter1(dataBeans);expListview.setDividerHeight(0);expLi

iOS开发>学无止境 - UITablView上下滑动控制底部按钮的出现和消失

今天我们一起来做一个好玩的功能,通过UITablView上下滑动控制底部按钮的出现和消失.先来看看效果: 需求分析 要做一个这样的功能,对你来说应该不难,实现的方式也有很多.我们来分析一下要实现那几个小功能点: UITablView向上滑动,底部按钮消失 UITablView向下滑动,底部按钮出现 UITablView滑动到底部,底部按钮出现 主要就是这三个小功能点.那么很简单,我们只需要判断UITablView是往上滑动,还是往下滑动,以及判断UITablView是否滑动到底部即可. 代码实现

鼠标移动链接上,滑动展开/隐藏图片效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

实现滑动出现删除按钮的代码

// Override to support conditional editing of the table view. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. // if (indexPath.section == 0

js展开更多

var introduces = { inIt : function(){ introduces.imgLoad(); introduces.showMore(0,'hioh',86); introduces.showMore(1,'hiohs',147); $("#normal span").hover( function(){ $(this).addClass('cur'); }, function(){ $(this).removeClass('cur'); } ); }, im

[Swift通天遁地]二、表格表单-(7)电子邮件Mail:实现单元格左右滑动调出功能按钮

本文将演示对单元格进行扩展,当手指在单元格左右滑动时,弹出不同的功能菜单. Github项目:[MGSwipeTableCell] 下载该项目的源代码.文件夹[demo]->文件夹[MailAppDemoSwift]->文件夹[MailAppDemoSwift] ->双击文件[MailAppDemoSwift.xcodeproj]打开示例工程. 选择该项目中的几个文件,拖动到自己的开发项目中.按住[Shift],选择 [MGSwipeButton.h] [MGSwipeButton.m]

js移动端向左滑动出现删除按钮

最近在做移动端项目时,需要实现一个列表页面的每一项item向左滑动时出现相应的删除按钮,本来想着直接使用zepto的touch.js插件,因为之前实现相同的功能时用过这个插件,当时还挺好用的,直接使用它的swipeLeft和swipeRight方法即可,可是今天又开始做这个功能时,却发现这两个方法在使用时毫无效果,一点反应都没有.上网查资料,又下载了最新版本的zepto和touch.js,都没有用,也不知为什么?所以就弃用了这个插件.下面是我后来实现后的代码,其实就是用了原生js的touch事件