iOS
文章平均质量分 53
ZH_CQ_iOS
没啥介绍就这样吧 低调做人 高调coding。。。
展开
-
SwiftUI iOS13情况下实现类似于CollectionView的效果
iOS 14 Swift2.0是有个LazyVGrid和LazyHGrid这里就不提了iOS13的情况下是不能使用这两个的所以只能自己去实现代码如下:首先先对集合类型进行一个扩展 进行查找extension Collection { func group(by size: Int) -> [[Element]]? { // Inspired by: https://lodash.com/docs/4.17.4#chunk ...原创 2021-06-04 15:59:43 · 948 阅读 · 0 评论 -
SwiftUI : 使用List去掉List分割线。
需求是这样的:一个列表 UIKit框架中就是个tableView 然后去处tableViewCell的分割线SwiftUI中是使用List去替代TableView的实现的 去除List的分割线方法如下:iOS 13的情况下 你写一个modifierstruct ListRemoveSeparator: ViewModifier { func body(content: Content) -> some View { content .o...原创 2021-06-03 11:27:43 · 1581 阅读 · 1 评论 -
时隔四年 重新写点什么吧 。。。
其实在我工作3年的时候 也就是17 18年那会 我基本上很少更新博客了 主要是确实觉得没什么想写的 工作中遇到的问题很少 基本都是以前那些老生常谈的东西 大不了Github找个Demo就搞定了 偶尔也就搞下内存优化 或者性能优化啥的 仅此而已。这种状态一直持续到一个月前 知道我加入了现在的公司 工作内容不难 就是后端写一个代码库你调用就完事了 后端的代码库是用C语言去写的 客户端这边使用了最新的SwiftUI去实现APP的 这里面我简单实现交互还是是用OC调用C的办法 然后Swift这边通过桥接去调用O原创 2021-04-15 15:13:28 · 147 阅读 · 0 评论 -
iOS 每日一记之———————————————仿QQ语音通话隐藏显示效果
最近狼人杀要做缩小效果 缩小的效果就和QQ语音聊天点击收起的动态特效是一样的 。。。。。恩 闲话少说 直接上代码 。。。#pragma mark -- CA缩小动画效果- (void)animateDismissTransition:(UIView *)view rect:(CGRect)endRect{ // 1.获取动画缩放结束时的圆形 UIBezierPat原创 2017-04-26 17:55:07 · 1604 阅读 · 0 评论 -
iOS每日一记之———————————————发财鱼写入通讯录
(⊙o⊙)… 何为发财鱼 其实我也不太懂 反正客户那边是要实现这么个功能 你发送一个定时消息 时间到了之后 会有人打电话提醒你 比如说你设置夜里2点半起床尿尿 时间到了后就有人给你打电话 提醒你尿尿了 ....╮(╯▽╰)╭ 其实说白了 就是通讯录中写入一个叫做发财鱼的联系人而已....╮(╯▽╰)╭废话不多说 上代码 void)addFrishNumber{原创 2016-08-26 17:08:13 · 707 阅读 · 0 评论 -
iOS每日一记之———————————————杂感
近期一直在忙一个im的应用 所以博客就忘记写了 ╮(╯▽╰)╭ 现在项目差不多做完了 从中也学到了一些东西 接下来就是总结提升的部分了.........恩图片多选使用 TZImagePickerController 使用简单操作方便只需要cocopods导入 然后引入头文件即可使用的时候写下面俩行代码 就OK了 //打开相册-(void)openPicLibrary{原创 2016-08-26 11:43:40 · 1519 阅读 · 0 评论 -
iOS每日一记之———————————————写给自己的......................
发送POST请求:NSMutableDictionary *postDict = [[NSMutableDictionary alloc] init]; postDict[@"uid"] = [SingleManager shareManager].uid; postDict[@"groupid"] = self.groupID; postDict[@"servi原创 2016-08-04 21:19:37 · 415 阅读 · 0 评论 -
iOS每日一记之———————————————一个简单的列表排序 还有模糊搜索
@interface SJZFriendListController ()/** * 好友列表的tableView */@property (nonatomic,strong) UITableView *tableView;/** * 上面的搜索条 */@property (nonatomic,strong) UISearchBar *searchBar;/原创 2016-08-02 14:48:02 · 439 阅读 · 0 评论 -
iOS每日一记之———————————————图片圆角的处理
最简单的就是让美工妹妹切个圆的图片喽O(∩_∩)O哈哈~.... 然后[UIimage imageName@:""];如果圆角图片用的地方不是很多的话 可以用 imageView.layer.masksToBounds = YES; imageView.layer.cornerRadius = 50;]去实现....不过如果是tableView上面多处用到了图片圆角 使用lay原创 2016-08-01 16:13:49 · 378 阅读 · 0 评论 -
iOS每日一记之———————————————集成云信的那些事
实话说云信写的确实不错 开发文档确实不赖.....但是demo 耦合性太强 想从中抽个来个工具条就各种报错....是在没办法了....我把环信的工具条抽了出来...╮(╯▽╰)╭好吧 接下来告诉大家集成时候需要注意的开始的那些cocoapods导入什么的就先不介绍了 那个很简单....导入完了之后需要在用到的地方导入NIMSDK的头文件首先在入口类注册云信的SDK- (B原创 2016-07-28 16:46:31 · 1935 阅读 · 0 评论 -
iOS每日一记之———————————————iOS应用数据存储的常用方式我见解
iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3Core DataXML属性列表(plist)归档属性列表是一种XML格式的文件,拓展名为plist。如果对象是NSString、NSDiction原创 2016-06-24 20:56:16 · 2895 阅读 · 0 评论 -
iOS每日一记之———————————————zip文件的解压与压缩 and 自定义字体的使用
一 Zip文件的解压和压缩需要下载下载SSZipArchive 一个很厉害的工具 github上面一搜就出来了 2000多颗星足以证明其的有用性下载好之后呢 使用前:把SSZipArchive文件添加到项目中在target中添加libz.dylib// 解压 NSString *zipPath = @"被解压的文件路径"; NSString *destina原创 2016-10-18 17:24:29 · 553 阅读 · 0 评论 -
iOS每日一记之———————————————使用runtime黑魔法 来显示你当前是哪个VC
其实在项目中让你找出你当前定位的VC并不难比如说通过标题什么的 全局搜索下就能找到对应的VC了 但是假如这个标题是通过plist文件获取到的呢 这就尴尬了 上网查了下 可以使用runtime黑魔法去实现这个效果OK 下面是干货时间如果你的VC继承UIViewController 很简单 你写个Category 就行 下面是代码时间 #import "UIViewC原创 2016-10-19 10:59:36 · 586 阅读 · 0 评论 -
iOS每日一记之———————————————为Cell设置部分圆角 类似于ipad的设置界面效果
需求图是这样的整个是个tableView 而且要求第一个cell和最后一个cell是部分圆角 有人会说这很简单啊 你设置第一个cell和最后一个cell的contentView部分圆角不就好了么 然而这样实现不了的、。。。。。 我在cell上面放了个白色的View 然后控制白色View的不同圆角情况依旧失败。。。。。想了半天实在不行加个图片好了 但是因为功能比较大 不能再添加无原创 2017-04-18 15:02:03 · 1416 阅读 · 0 评论 -
iOS每日一记之———————————————基于Socket的简单封装和使用
Socket 这个概念我就不多说了 不懂得请自行百度接下来进入正题 如何封装socket 基于AsyncSocket 下载地址为 code.google.com/p/cocoaasyncsocket/ 恩 下面开始讲基于它的简单封装了 首先,调用此API时需先引入CFNetWork.framework然后在#import "AsyncSocket.h"就可以直接调用了闲话不原创 2017-03-01 16:44:50 · 1578 阅读 · 0 评论 -
iOS每日一记之———————————————OC代码混淆
闲话少说 直接进入正题 首先你要创建一个工程吧 然后打开你的终端 输入cd 然后把你的工程拖进去 回车然后 打入一下命令: touch confuse.sh 然后回车之后再输入: touch func.list 回车 就行 这时候打开你的工程 你会发现一个confuse.sh 和一个func.list文件 这时候点击addfile进去 急着 要在根目录下a原创 2017-02-16 15:01:32 · 2073 阅读 · 0 评论 -
iOS每日一记之———————————————图像 放大 居中 裁剪
最近要做一个类似于微信的设置聊天背景图的需求 微信的背景图聊天并不只是单纯的从相册中取出个图片然后显示那么简单。。。。里面还包括了放大 居中 裁剪 等功能so 写了下 下面上 代码 希望能帮助到那些和我有相同需求的人 使用category 对UIImage 写了一个类别// 放大Image- (UIImage*) getImageScaleToSize:(CGSi原创 2017-01-07 22:09:59 · 605 阅读 · 0 评论 -
iOS每日一记之———————————————Gif使用新的SDwebimage无法播放的问题解决
之前使用了老版的SDwebimage 是可以播放gif 的 更新后发现忽然不能用了 ( ⊙ o ⊙ )啊!看了下#import "UIImage+GIF.h" 里面发现少了很多以前的方法 现在只能通过NSData 实现gif 以前可以同名字 URL 包括 source去赋值 so 为了解决这个问题 就自己对UIImage 写了一个Category通过URL 展示原创 2017-01-14 17:14:57 · 664 阅读 · 0 评论 -
iOS每日一记之———————————————自定义UIswitch 控件
看了好多自定义switch控件的demo 大多用UIview + label +imageView 实现的 还有用UIsilder实现的 感觉都不是特别满意 遂 自己写个一个 可以设置开关状态 BOOL isOn;点击也可以触发valueChanged方法 简单粗暴控件 继承与UIcontrolOK 接下来上代码。。。ZHSwitch的。h文件如下#impo原创 2016-12-28 16:44:37 · 672 阅读 · 0 评论 -
iOS每日一记之———————————————视频 拍摄 与压缩 阿里云OSS断点续传
.....视频拍摄//调用系统录像- (void)addTakeVideo{ _imagePickerVc = [[UIImagePickerController alloc] init]; _imagePickerVc.delegate = self; _imagePickerVc.modalTransitionStyle = UIModalTran原创 2016-11-25 18:23:35 · 3516 阅读 · 1 评论 -
iOS每日一记之———————————————从相机拍完照片之后翻转90度的问题解决看问题思路
昨天在处理一个问题 图片点击加载大图的时候 图片整个的翻转了90度 而且只有拍照会出现 从图片中取的时候并不会 出现这种情况 so 断点各种打 各种调试 看了图片链接显示的还是竖着的 然而显示的时候就是横竖颠倒了 好奇怪。。。。 刚开始我以为可能是处理图片的时候宽高进行交换了 之后把图片浏览功能里面逐一打断点调试 一行行查找并没有发现有宽高交换的代码 也没发现transfrom之类的代码 。。。之原创 2016-11-08 16:59:32 · 539 阅读 · 0 评论 -
iOS每日一记之———————————————初识HTTP协议 Socket TCP/UDP
一、HTTP协议HTTP本质上是一种协议,全称是Hypertext Transfer Protocol,即超文本传输协议。从名字上可以看出该协议用于规定客户端与服务端之间的传输规则,所传输的内容不局限于文本(其实可以传输任意类型的数据)。二、HTTP请求与响应的内容当我们往服务端发送一条HTTP请求时都发送了哪些东西过去呢?一个HTTP请求所必备的几大要原创 2016-06-24 19:52:29 · 738 阅读 · 0 评论 -
iOS每日一记之———————————————简单的实现委托 Block代码块 功能 和简单的自定义View
╮(╯▽╰)╭。。。。MVC我的理解并不是特别深入 只能理解其中的一点点东西 ,,,,V需要从C中 剥离出来 其实说白了 就像Xib创建一样 Xib你创建了之后 可以在上面托各种控件 其实那个Xib文件就相当于View 只是用来视图显示的 之后你拖了Xib 控件之后是不是要连线呢 而且会自动生成IBout @property(nonatomic,weak) 之所以用weak 那是因为当前主v原创 2016-06-22 16:11:15 · 628 阅读 · 0 评论 -
iOS每日一记之———————————————写了俩个月Swift的小感想
首先Swift是很快这个无可否认 毕竟新事物还是要接受的 哎。。。。列举下我体验到Swift中最不舒服的一些地方吧 1.DEBUG的模式是个神坑 需要自己手动去显示隐藏 不像OC中 一个宏定义就搞定了2.Swift中的强制类型转换 int float string double互相转换真的是神坑 感觉没有OC简单方便 ,还有就是强制解包这个问题 是的是可以使用guard 但是OC中压根原创 2017-11-16 17:29:58 · 911 阅读 · 1 评论 -
iOS每日一记之———————————————把window暂时的移除到屏幕外面 pop到指定的Viewcontroller
把window移除到屏幕外面 self.window.transform = CGAffineTransformMakeTranslation(0, 50);让屏幕在回来 self.window.transform = CGAffineTransformIdentity;pop到指定的ViewController//post成功原创 2016-01-04 16:01:34 · 1182 阅读 · 0 评论 -
iOS每日一记之———————————————密码输入工具 InputPasswordView
废话不多说 直接上代码好了 简单粗暴!#import "InputPasswordView.h"#import "BaseFunction.h"@interface InputPasswordView () { NSMutableArray *_psdChars; NSMutableArray *_psdBlackPoints; UITextFie原创 2016-01-07 10:44:49 · 757 阅读 · 0 评论 -
iOS每日一记之———————————————CoreText初识
额 最近在看唐巧大大的《 iOS开发进阶》这本书 看到了CoreText这个地方 觉得不错 就保存了下来 富文本啊。。。需要用到Coretext这玩意。。。唉不多说上一个简单的代码好了。。。-(void)drawRect:(CGRect)rect{ [super drawRect:rect]; CGContextRef conText = UIGrap原创 2016-02-01 16:53:15 · 413 阅读 · 0 评论 -
iOS每日一记之———————————————屏幕截屏的妙用
支持iOS7.0以后的 7.0以前 有别的方法。。。你可以写一个按钮 按钮执行以下的方法 就可以了 这样就可以拿到一个一个全屏的截图了 UIView *screenView = [self.view snapshotViewAfterScreenUpdates:YES]; screenView.frame = CGRectMake(100, 500, 200, 20原创 2016-02-02 16:53:04 · 645 阅读 · 0 评论 -
iOS每日一记之———————————————一个弹框View
此View的效果和QQ 微信 点击加号的效果相同 主要由着五个文件组成首先MoreSettingMenu.h#import @protocol MoreSettingMenuDelegate @end@interface MoreSettingMenu : UIView- (void) setData : (NSArray *) data;原创 2016-03-03 12:17:14 · 516 阅读 · 0 评论 -
iOS 每日一记之———————————————show slicing 的使用初体验
我们都知道设计师给我们的图片 有的时候并不是特别完美 还需要我们去裁剪下 尤其是做聊天的时候 需要对聊天气泡 进行修改 拉伸什么的。。。。以前我们做拉伸 都用的是这个方法吧 。。。resizableImageWithCapInsets:UIEdgeInsetsMake 但是这个方法不够直观。。。 Xcode5之后引入了一个神器。。Show Slicing。。。据说很腻害 下面我们就来看下原创 2016-03-11 17:03:07 · 2082 阅读 · 0 评论 -
iOS每日一记之———————————————iOS开发编码建议与规范
在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码。那么,有一个良好的编码习惯将会非常重要。下面将会罗列使用Objective-C来开发iOS的编码建议。 1. 任意函数长度不得超过50行。(其实很容易就超过50行,这就要考虑代码抽取了。 2. 任意行代码不能超过80字符。(其实也很容易超过80字符,可以考虑多行显示,比如有多个参数时,可以每个参数放一行。)原创 2016-03-29 11:52:17 · 555 阅读 · 0 评论 -
iOS每日一记之———————————————契丹的 编程写法。。。
UIView *theView = ({ UIView *theView = UIView.new; CGRect rect = {100,100,100,100}; theView.frame = rect; theView.backgroundColor = [UIColor greenColor]; t原创 2016-03-29 18:51:58 · 426 阅读 · 0 评论 -
iOS每日一记之———————————————契丹的cocopods
首先是cocopods升级问题。。。 cocopods不小心升级成了 1.0.0 bate4 版。。。。擦 然后 pod install的时候各种报错The dependency `AFNetworking (~>2.3.0)` is not used in any concrete target.The dependency `DACircularProgress (~> 2原创 2016-03-31 17:25:36 · 755 阅读 · 0 评论 -
iOS每日一记之———————————————如何写好简历 。。。。
Resume template for Chinese programmers . 程序员简历模板系列。包括PHP程序员简历模板、iOS程序员简历模板、Android程序员简历模板、Web前端程序员简历模板、Java程序员简历模板、C/C++程序员简历模板、NodeJS程序员简历模板、架构师简历模板以及通用程序员简历模板http://get.jobdeer.com/744.get转载 2016-04-20 18:43:32 · 3260 阅读 · 0 评论 -
iOS每日一记之———————————————获取label的行数。。。。。恩
-(NSArray *)getSeparatedLinesFromLabel { NSString *text = [self text]; UIFont *font = [self font]; CGRect rect = [self frame]; CTFontRef myFont = CTFontCreateWithName((__brid原创 2016-04-25 15:46:24 · 5300 阅读 · 0 评论 -
iOS每日一记之———————————————iOS开发当中的一些技巧
iOS的一些小技巧TableView不显示没内容的Cell怎么办?类似这种,我不想让下面那些空的显示.很简单. self.tableView.tableFooterView = [[UIView alloc] init];试过的都说好. 加完这句之后就变成了这样.自定义了leftBarbuttonItem左滑返回手势失效了怎么办?转载 2016-05-05 17:35:17 · 386 阅读 · 0 评论 -
iOS每日一记之———————————————契丹的NavgationBar 。。。
当navgationBar 和下面的背景色完全一样的时候 就出现了 这条线。。。。我屮艸芔茻。。。。这条线。。。。你能忍么。。。。于是乎就各种查资料 发现了一个神奇的方法。。。。。 if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:for原创 2016-05-25 17:58:01 · 419 阅读 · 0 评论 -
iOS每日一记之———————————————简单的去重操作。。。。
对数组中的元素去重复NSArray *array = @[@1, @2, @2, @2, @2, @3];我们想把里面重复的2去掉 得到 1 2 3 这个子集。可以使用distinctUnionOfObjects操作符去取集合的不重复子集,这些操作符可以嵌套调用,比如,取一个数据的不重复子集。123原创 2016-06-11 21:53:58 · 569 阅读 · 0 评论 -
iOS每日一记之———————————————SDwebimage图片的缓存机制
SDWebImage是一个很厉害的图片缓存的框架。既ASIHttp+AsyncImage之后,我一直使用AFNetworking集成的UIImageView+AFNetworking.h,但后者对于图片的缓存实际应用的是NSURLCache自带的cache机制。而NSURLCache每次都要把缓存的raw data 再转化为UIImage,就带来了数据处理和内存方面的更多操作。具体的比较在这翻译 2016-06-13 09:13:51 · 589 阅读 · 0 评论 -
iOS每日一记之———————————————OS 开发工具集合
Xcode这个不多说 肯定要有的 对于版本下载我推荐大家还是去app stor上下载好了 毕竟官方的靠谱点 虽然7.3 略坑吧。。。不过也只能这样了 。。。唉AppCode 这个东西是个神奇 百度下你就知道它的作用了:AppCode是一个全新的 Objective-C的集成开发环境,用于帮助开发 Mac、iPhone 和 iPad 的应用程序。主要特性:超乎翻译 2016-04-27 15:14:24 · 2399 阅读 · 0 评论