iOS 修改 TableView 的 delete 按钮
来源:互联网 发布:淘宝(中国)软件有 编辑:程序博客网 时间:2024/05/03 23:36
-(void)willTransitionToState:(UITableViewCellStateMask)state ,发现iOS7 以前的方法不管用了
iOS7 下
在自定义cell里重写
-(void)willTransitionToState:(UITableViewCellStateMask)state{
[superwillTransitionToState:state];
if((state &UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask){
// [self recurseAndReplaceSubViewIfDeleteConfirmationControl:self.subviews];
[self performSelector:@selector(recurseAndReplaceSubViewIfDeleteConfirmationControl:)withObject:self.subviewsafterDelay:0];
}
}
-(void)recurseAndReplaceSubViewIfDeleteConfirmationControl:(NSArray*)subviews{
NSString *delete_button_name = @"delete";
for (UIView *subviewin subviews)
{
/**
* iOS 6 以前
*/
if ([NSStringFromClass([subviewclass]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"])
{
/**
将添加一个视图来覆盖默认的控制使用的图像有一个透明的背景
*/
UIView *backgroundCoverDefaultControl = [[UIViewalloc] initWithFrame:CGRectMake(0,0,64, 33)];
[backgroundCoverDefaultControl setBackgroundColor:[UIColorwhiteColor]];
[[subview.subviews objectAtIndex:0] addSubview:backgroundCoverDefaultControl];
UIImage *deleteImage = [UIImageimageNamed:delete_button_name];
UIImageView *deleteBtn = [[UIImageViewalloc]initWithFrame:CGRectMake(0,0,deleteImage.size.width, deleteImage.size.height)];
[deleteBtn setImage:[UIImageimageNamed:delete_button_name]];
[[subview.subviews objectAtIndex:0] addSubview:deleteBtn];
}
/**
* ios7
*/
if ([NSStringFromClass([subviewclass]) isEqualToString:@"UITableViewCellDeleteConfirmationButton"])
{
UIButton *deleteButton = (UIButton *)subview;
[deleteButton setImage:[UIImageimageNamed:delete_button_name] forState:UIControlStateNormal];
[deleteButton setTitle:@""forState:UIControlStateNormal];
[deleteButton setBackgroundColor:[UIColorclearColor]];
for(UIView* viewin subview.subviews){
if([view isKindOfClass:[UILabelclass]]){
[view removeFromSuperview];
}
}
}
if ([NSStringFromClass([subviewclass]) isEqualToString:@"UITableViewCellDeleteConfirmationView"])
{
for(UIView* innerSubViewin subview.subviews){
if(![innerSubView isKindOfClass:[UIButton class]]){
[innerSubView removeFromSuperview];
}
}
}
if([subview.subviewscount]>0){
[selfrecurseAndReplaceSubViewIfDeleteConfirmationControl:subview.subviews];
}
}
}
- iOS 修改 TableView 的 delete 按钮
- iOS 修改 TableView 的 delete 按钮
- iOS开发-修改TableViewCell的Delete按钮
- ios开发之tableview的编辑模式下的Edit Done Delete按钮文本
- ios开发之tableview的编辑模式下的Edit Done Delete按钮文本
- 自定义Tableview 右滑自带的 Delete按钮
- iOS-tableView底部按钮的添加
- ios tableview 删除按钮
- ios TableView编辑状态多选框的修改
- IOS_修改TableView的删除按钮的文本
- IOS_修改TableView的删除按钮的文本
- IOS 修改navigationItem的按钮
- tableVIew删除时的delete按钮被挡住时重写的方法
- tableVIew删除时的delete按钮被挡住时重写的方法
- iOS 不同按钮点击显示不同的tableview数据
- ios 设置tableview左滑删除按钮的相关属性
- 关于tableview编辑状态那个delete按钮改成中文的问题
- 关于tableview编辑状态那个delete按钮改成中文的问题
- java高并发,如何解决,什么方式解决
- u-boot-2014.10移植第16天----Nor flash启动
- 从Objective-C到Swift,你必须会的(二)组合options
- 第十一周项目6 (4)输出1000以内的所有回文数
- javascript函数调用call和apply
- iOS 修改 TableView 的 delete 按钮
- bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队
- JAVA读取.RSA密钥信息及获取KEYSTORE指纹信息
- OLED液晶屏操作记录
- 如何创建回收站
- xcode如何实现多工程联编
- JAVA多线程基础(一)
- 猿题库iOS客户端的技术细节(一):使用多target来构建大量相似App
- 【二分图匹配】最大二分匹配——匈牙利算法