源码推荐(12.29):10秒钟快速集成下拉刷新和上拉加载,多行可滑动action sheet

本文介绍了多种iOS开发工具和技巧,包括循环引用检测器CRChecker、带有弹动效果的菜单按钮实现、10秒集成下拉刷新及上拉加载、相册多选/图片游览器的使用方法以及多行可滑动actionsheet的开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

循环引用检测器--CRChecker

CRChecker 提供了另一种检查程序是否存在循环引用的方法,以往,我们需要使用Leaks工具检测此类问题,但实际使用起来,十分困难。本工具使用的是Method Swizzling的方式,对init和dealloc方法替换,以检查对象的生成、销毁计数的方法进行循环引用探测。

测试环境:Xcode 6.0,iOS 5.0以上

DemoScreen01.png

带有弹动效果的菜单按钮论坛会员pig18478966

该项目是一个菜单按钮,点击红色按钮,弹出3个可选菜单,再次点击收回菜单,并带有流畅的弹动效果。

测试环境:Xcode 6.0,iOS 7.0以上

92.gif

10秒钟快速集成下拉刷新和上拉加载更多论坛会员949977202

10秒钟快速集成下拉刷新和上拉加载更多刷新控件。

测试环境:Xcode 6.0,iOS 6.0以上

89.gif

iOS相册多选/图片游览器论坛会员MakeZL

009.gif

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// 创建图片多选控制器
PickerViewController *pickerVc = [[PickerViewController alloc] init];
// 默认显示相册里面的内容SavePhotos
PickerVc.status = PickerViewShowStatusSavePhotos;
// 选择图片的最小数,默认是9张图片最大也是9张
pickerVc.minCount = 4; 
[self presentViewController:pickerVc animated:YES completion:nil];
// block回调或者代理
// 用block来代替代理
pickerVc.delegate = self;    
/**
 *
 传值可以用代理,或者用block来接收,以下是block的传值
 __weak typeof(self) weakSelf = self;
 pickerVc.callBack = ^(NSArray *assets){
    weakSelf.assets = assets;
    [weakSelf.tableView reloadData];
 };
 */    
// 代理回调方法
- (void)pickerViewControllerDoneAsstes:(NSArray *)assets{
  self.assets = assets;
  [self.tableView reloadData];
}
// 图片游览器
ZLPickerBrowserViewController *pickerBrowser = [[ZLPickerBrowserViewController alloc] init];
// 传入点击图片View的话,会有微信朋友圈照片的风格
pickerBrowser.toView = cell.imageView;
// 数据源/delegate
pickerBrowser.delegate = self;
pickerBrowser.dataSource = self;
// 是否可以删除照片
pickerBrowser.editing = YES;
// 当前选中的值
pickerBrowser.currentPage = indexPath.row;
// 展示控制器
[pickerBrowser show];
#pragma mark - 自定义动画
// 你也可以自定义动画
// 参考BaseAnimationView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    UIView *boxView = [[UIView alloc] init];
    boxView.backgroundColor = [UIColor redColor];
    NSDictionary *options = @{
                              UIViewAnimationInView:self.view,
                              UIViewAnimationToView:boxView,
                              };
    [ZLAnimationBaseView animationViewWithOptions:options animations:^{
        // TODO .. 执行动画时
    } completion:^(ZLAnimationBaseView *baseView) {
        // TODO .. 动画执行完时
    }];
}

多行可滑动action sheet(论坛会员dopcn)

多行action sheet,支持带标题和不带标题两种形式,并且可横向滚动。

测试环境:Xcode 6.0,iOS 6.0以上

91.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值