iOS开发——完整项目实战OC篇&百思不得姐第四天
上午
一:自定义按钮使用九宫格布局
二:控件不能点击
三:获取用户点击了那个按钮
四:调整按钮内部控件的位置:主流-》上下
五:不能直接使用self.navigationController中或者View中获取导航控制器
方法一:
方法二:
六:布局取整
1 // 总行数 2 3 // NSUInteger rows = sqaures.count / maxCols; 4 5 // if (sqaures.count % maxCols) { // 不能整除, + 1 6 7 // rows++; 8 9 // } 10 11 12 // 总页数 == (总个数 + 每页的最大数 - 1) / 每页最大数 13 NSUInteger rows = (sqaures.count + maxCols - 1) / maxCols; 14 15
七:关于图片拉伸IB上怎么使用
八:tableView-Group默认下移35:即tableView的分组样式会默认下移35像素
1 -(void)setFrame:(CGRect)frame { 2 frame.origin.y -= (35 - 10); 3 [super setFrame:frame]; 4 }
或者:
1 self.tableView.contentInset = UIEdgeInsetsMake(-25, 0, 0, 0);
九:设置分割线
创建n个UIView放倒上面
按钮左右-1
加一张有分割线的图片
最好的方法
/** * 使用图片设置分割线:还可以直接使用UIView或者设置每个按钮的左右或者上下变化一个像素 */ -(void)setUp { self.titleLabel.textAlignment = NSTextAlignmentCenter; [self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; self.titleLabel.font = [UIFont systemFontOfSize:15]; [self setBackgroundImage:[UIImage imageNamed:@"mainCellBackground"] forState:UIControlStateNormal]; // self.backgroundColor = [UIColor orangeColor]; }
十:监听多个按钮中,用户点击那一个按钮
self.subViews indexOfObject:btw self.square[index]
下午
十一:网络请求基本步骤及处理
1 //请求URL 2 NSString *requestUrl = @""; 3 4 //请求参数 5 NSMutableDictionary *dict = [NSMutableDictionary dictionary]; 6 dict[@""] = @""; 7 8 /** * 发送GET请求 */// __weak typeof(self) weakSelf = self; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:requestUrl parameters:dict success:^void(NSURLSessionDataTask *data, id responer) { /** * 如果返回数据为空 */ 9 if (responer == nil) { 10 11 return; } 12 13 } failure:^void(NSURLSessionDataTask *data, NSError * error) { /** * 请求失败后的状态码 */ if (error.code == NSURLErrorCancelled) return; if (error.code == NSURLErrorTimedOut) { } else { } 14 }]; 15 }
十二:清楚缓存:(文件夹没有直接的大小属性,需要遍历所有文件获取大小)
1:缓存类型
2:获取缓存
或者
封装成分类
1 - (NSInteger)fileSize 2 { 3 // 文件管理者 4 NSFileManager *mgr = [NSFileManager defaultManager]; 5 // 是否为文件夹 6 BOOL isDirectory = NO; 7 // 这个路径是否存在 8 BOOL exists = [mgr fileExistsAtPath:self isDirectory:&isDirectory]; 9 // 路径不存在 10 if (exists == NO) return 0; 11 12 if (isDirectory) { // 文件夹 13 // 总大小 14 NSInteger size = 0; 15 // 获得文件夹中的所有内容 16 NSDirectoryEnumerator *enumerator = [mgr enumeratorAtPath:self]; 17 for (NSString *subpath in enumerator) { 18 // 获得全路径 19 NSString *fullSubpath = [self stringByAppendingPathComponent:subpath]; 20 // 获得文件属性 21 size += [mgr attributesOfItemAtPath:fullSubpath error:nil].fileSize; 22 } 23 return size; 24 } else { // 文件 25 return [mgr attributesOfItemAtPath:self error:nil].fileSize; 26 } 27 } 28
3:清理缓存
1 - (void)clearCache 2 { 3 [SVProgressHUD showWithStatus:@"正在清除缓存" maskType:SVProgressHUDMaskTypeBlack]; 4 5 [[[NSOperationQueue alloc] init] addOperationWithBlock:^{ 6 [[NSFileManager defaultManager] removeItemAtPath:XMGCacheFile error:nil]; 7 8 [[NSOperationQueue mainQueue] addOperationWithBlock:^{ 9 [SVProgressHUD showSuccessWithStatus:@"清除成功"]; 10 11 self.textLabel.text = XMGDefaultText; 12 13 // 禁止点击事件 14 self.userInteractionEnabled = NO; 15 }]; 16 }]; 17 } 18
十三:线程通讯
十四:实现不能选中,只能点击
十五:根据不同的ID使用不同的Cell
十六:文件常用参数
文件大小
文件类型
十七:常用运行时类型
- v->void
- :->SEL
- #->Class
- @->id
- *->char *
- ?->unknow
- ^type->Pointer
晚上
时间: 2024-08-15 08:56:35