欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS开发——记录一些好用的方法

程序员文章站 2022-03-23 22:19:52
文章目录前言1、数组1.1 查找数组中是否含有某个对象2、字典2.1 新建key-val2.2 根据key查value3、字符串3.1 字符串按字符拆分为数组4、布局4.1 frame与bounds的区别详解5、UI6、MJRefrsh前言记录常用到的一些方法,持续更新。1、数组1.1 查找数组中是否含有某个对象// myArr是自己的数组,object是要找的那个对象[myArr containsObject:object];2、字典2.1 新建key-val[myDic set...

前言

记录常用到的一些方法,持续更新。

1、数组

1.1 查找数组中是否含有某个对象

// myArr是自己的数组,object是要找的那个对象
[myArr containsObject:object];

2、字典

2.1 新建key-val

[myDic setValue: forKey:];

2.2 根据key查value

[myDic valueForKey: ];

3、字符串

3.1 字符串按字符拆分为数组

// 以”/“划分
NSArray *stringURLArray = [myString componentsSeparatedByString:@"/"];

4、布局

4.1 frame与bounds的区别详解

frame与bounds的区别详解

5、UI

6、MJRefrsh

- (void)refreshConfig{
     // 刷新方法
     MJRefreshGifHeader *header = [MJRefreshGifHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewDataUp)];
     MJRefreshAutoGifFooter *footer = [MJRefreshAutoGifFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadNewDataDown)];
    
     // 设置文字
     [header setTitle:@"下拉刷新" forState:MJRefreshStateIdle];
     [header setTitle:@"松手即可刷新" forState:MJRefreshStatePulling];
     [header setTitle:@"加载中" forState:MJRefreshStateRefreshing];
    
//     [footer setTitle:@"上滑加载更多" forState:MJRefreshStateIdle];
     [footer setTitle:@"松手即可加载" forState:MJRefreshStatePulling];
     [footer setTitle:@"加载中" forState:MJRefreshStateRefreshing];
    
     // 设置字体
     header.stateLabel.font = [UIFont systemFontOfSize:15];
     header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:14];
    
    footer.stateLabel.text = @"上滑加载更多";
    footer.stateLabel.font = [UIFont systemFontOfSize:15];

     // 设置颜色
     header.stateLabel.textColor = [UIColor redColor];
     header.lastUpdatedTimeLabel.textColor = [UIColor blueColor];
     // 设置普通状态的动画图片
     [header setImages:[self getRefreshingImageArrayWithStartIndex:1 endIndex:4] forState:MJRefreshStateIdle];
     // 设置即将刷新状态的动画图片(一松开就会刷新的状态)
     [header setImages:[self getRefreshingImageArrayWithStartIndex:5 endIndex:10] forState:MJRefreshStatePulling];
     // 设置正在刷新状态的动画图片
     [header setImages:[self getRefreshingImageArrayWithStartIndex:10 endIndex:26] forState:MJRefreshStateRefreshing];
     
     // 隐藏时间
//     header.lastUpdatedTimeLabel.hidden = YES;
     // 隐藏状态
//     header.stateLabel.hidden = YES;
     
     self.tableView.mj_header = header;
     self.tableView.mj_footer = footer;
}
// 下拉刷新
- (void)loadNewDataUp{
    [self.adViewArray removeAllObjects];
    [self.adsArray removeAllObjects];
    [self pressToLoadAd];
    NSLog(@"下拉刷新");
}

// 上拉刷新
- (void)loadNewDataDown{
    [self pressToLoadAd];
    NSLog(@"上拉加载");
}

// 停止刷新
- (void)endRefresh{
    [self.tableView.mj_footer endRefreshing];
    [self.tableView.mj_header endRefreshing];
}
// gif相关
- (NSArray *)getRefreshingImageArrayWithStartIndex:(NSInteger)startIndex endIndex:(NSInteger)endIndex{
    
    NSMutableArray *result = [NSMutableArray array];
    for (NSUInteger i = startIndex; i <= endIndex; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"chewImage.bundle/%lu@2x.jpg", (unsigned long)i]];
        if (image) {
            NSLog(@"加载图片chewImage.bundle/%lu", (unsigned long)i);
            [result addObject:image];
        }
    }
    return result;
    
}

本文地址:https://blog.csdn.net/qq_42009978/article/details/107600330

相关标签: iOS开发