
iOS基础
miaocuilin
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
联合体、位域
本文参考自:https://blog.youkuaiyun.com/whahu1989/article/details/84575558?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.vipsorttest&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7原创 2021-05-10 16:50:27 · 1413 阅读 · 0 评论 -
Xcode如何自定义代码块
前言:在项目开发中我们常常会需要编写重复性的代码,比如创建各种属性、tableView的各种代理方法、初始化方法,如果每个属性每个方法都手打一遍的话,无疑会浪费我们很多宝贵时间,那么Xcode提供的自定义代码块功能就能完美解决了这一困扰,那么该如何自定义代码块呢?废话不多说,直接开整!正文:1.我们以Xcode12.4为例,代码块由早期的右侧展示区的底部,移到了顶部的右上角,显示一个➕点击以后会弹出一个窗口如下图*User列表里代表的就是用户自定义的代码块儿,剩下的都是系统自带的代码原创 2021-05-08 21:55:13 · 756 阅读 · 0 评论 -
Go2Shell的安装与配置
前言:在了解并安装了iTerm2以后,又发现了一个好用的小工具,Go2Shell,那么它有什么用呢?它可以实现在你打开的文件夹下直接跳转到终端的当前目录下,更方面的让我们对当前文件夹下的文件进行终端下的操作。这个配置相对比较简单,我们来操作一下~一、下载地址:https://zipzapmac.com/Go2Shell因为APP Store版本的Go2Shell已经不维护了,我们直接去官网下载。点击FREE DOWNLOAD下载并安装到Application里即可。二、配置安原创 2021-04-25 15:10:24 · 1110 阅读 · 4 评论 -
CGRectGet方法解释
CGRectGetHeight返回label本身的高度CGRectGetMinY返回label顶部的坐标CGRectGetMaxY 返回label底部的坐标CGRectGetMinX 返回label左边缘的坐标CGRectGetMaxX 返回label右边缘的坐标CGRectGetMidX表示得到一个frame中心点的X坐标CGRectGetMidY原创 2017-02-24 10:10:19 · 654 阅读 · 0 评论 -
iOS获取APP的版本号
如上图,iOS有2个版本号,Version和Build,在target->General中可查看。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。这两个值都可以在程序中通过下原创 2015-01-09 14:40:29 · 1264 阅读 · 0 评论 -
使用CLLocationCoordinate2D报错
我是在添加一个第三方的时候出现的错误,但是我看着跟第三方示例代码是一样的,搞了好半天都不知道为啥,最后import了个类库解决了:#import原创 2015-01-10 16:17:04 · 2734 阅读 · 0 评论 -
iOS presentViewController的时候有卡顿或延迟
我在应用里边present一个很简单的Controller感觉总有个零点几秒的延迟,有的时候更严重,点一次根本没有跳转,然后随便再点一下才会跳,在网上搜了一下,找到一个方法可以解决这种问题:dispatch_async(dispatch_get_main_queue(), ^{ MessagePushSetViewController * vc =原创 2015-01-12 10:53:01 · 2898 阅读 · 0 评论 -
自定制tabBar点击不同页面会多个同时点亮的情况
我先解释一下这个bug:我自定制tabBar的时候用4个按钮代替,按钮设置点中和未点中的图片,然后切换不同页面的时候应该是只有一个是点中状态,但是我的会出现多个甚至全部点中的情况,搞了半天才知道是哪的问题。for (int i=0; i4; i++) { //这里写button的直接父控件bottomBg再去找tag,不然会出问题 UIButt原创 2014-12-09 10:37:46 · 776 阅读 · 0 评论 -
关于VM:CG raster data的释放
项目中用Instrument检测内存的时候发现打开某个页面的时候发现VM:CG raster data这个字段一下涨好几M。找了好久发现和毛玻璃有关,只要在界面关闭时将承载毛玻璃的image = nil即可,小伙伴们试试吧,深层次的原因欢迎大家分享给我~原创 2015-02-02 17:43:39 · 3253 阅读 · 0 评论 -
[__NSCFConstantString size]: unrecognized selector sent to instance 0x6ead08
该错误是在我将NSString类型的参数赋值给UIImage类型的时候报出的,查了一会才查出是这的问题。如果大家不是这个问题查一下是不是也是赋值类型错了。原创 2014-12-03 10:22:09 · 5061 阅读 · 0 评论 -
关于tableView点击状态栏列表回到顶部的说明
这是tableView继承的scrollView的一个属性 scrollsToTop。官方说明是这样的:// When the user taps the status bar, the scroll view beneath the touch which is closest to the status bar will be scrolled to top, but onl原创 2014-12-02 17:12:03 · 1301 阅读 · 0 评论 -
iOS摇一摇的使用
我知道的摇一摇有以下2种方案:一、直接用系统自带的motionBegan方法-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event假如程序不响应此方法,试着加入下面方法:-(BOOL)canBecomeFirstResponder{ return YES;}如果还原创 2014-12-01 16:14:38 · 1136 阅读 · 0 评论 -
NSDictionary和NSData之间的相互转换
我封装好了2个方法,用来字典和data相互转换的,直接复制方法拿来用就可以了,注意2点:1.我是用的mrc,用arc的同学把autorelease去掉即可。2.第二个我是路径文件转的字典,想data转的话自己把方法改一下就行了。//字典转data+(NSData *)returnDataWithDictionary:(NSDictionary *)dict{原创 2014-10-18 12:21:01 · 15384 阅读 · 0 评论 -
iOS时间和时间戳的相互转换
一、时间转时间戳NSDate * date = [NSDatedate];NSString * timeStamp = [NSStringstringWithFormat:@"%f", [datetimeIntervalSince1970]];timeStamp即为时间戳。二、时间戳转时间NSDateFormatter *fmt = [[NS原创 2014-09-13 18:24:08 · 986 阅读 · 0 评论 -
用代码改变image的大小
这里大家可以写一个image的类别,方便调用,类别如下:一、.h文件#import @interface UIImage (UIImageExtras)- (UIImage *)imageByScalingToSize:(CGSize)targetSize; @end二、.m文件#import "UIImage+UIImageEx原创 2014-09-29 19:11:47 · 1539 阅读 · 0 评论 -
iOS自定义对象保存到本地文件
我是将聊天记录存到本地,里边用到了自定义的对象,把数据转成Data格式存到本地,在转Data格式的时候报错了,这时候需要先将自定义对象进行归档才可以转Data格式。方法如下:一、在.h文件中声明协议二、在.m文件中实现encodeWithCoder和intiWithCoder方法原创 2014-10-18 12:36:35 · 3279 阅读 · 0 评论 -
iOS给lable或button添加下划线
本文转载自:http://blog.youkuaiyun.com/chaoyuan899/article/details/38306141转载 2014-11-20 14:34:25 · 1828 阅读 · 0 评论 -
duplicate symbols for architecture armv7错误
此种情况可能由以下2种方法引发:1.有名字重复的文件。2.在#import的时候将.h写成了.m。排除以上2种情况一般就解决了~原创 2014-12-30 15:05:11 · 1277 阅读 · 0 评论 -
如何通过友盟的错误信息分析项目中问题的具体位置
一、你需要找到和友盟上相同版本的Archive文件,位置是xcode-》Windows-》Organizer,找到打包的那一条目,右键Show in Finder-》右键显示包内容-》dSYMs下找到 项目名.app.dSYM,将其拷贝到文件夹A。二、打开友盟,找到错误信息中青色带下划线的内存地址,有时候会有2个,用上边的那一个,如下图的0xb1d51。三、打开终端原创 2015-01-26 10:11:23 · 713 阅读 · 0 评论 -
iOS开发证书及推送证书的生成教程
以下是我自己摸索出来的证书生成过程,如有错误欢迎指正~一、生成开发证书这里的证书包括开发(development)证书和生产(production)证书。1.打开钥匙串访问--》证书助理--》从证书颁发机构请求证书,输入邮箱和常用名,常用名将作为你的密钥名,选择保存到磁盘,名字默认就可以,存到桌面。2.登录苹果的开发者中心,登录自己的开发者账号进入,选择证书。单击这里的原创 2015-04-21 19:20:51 · 1091 阅读 · 1 评论 -
iOS UISwitch缩放及布局的坑
如题,应设计要求,默认的switch大小不符合设计要求,所以对switch进行了缩放,方法如下:switch.transfrom =CGAffineTransformMakeScale(0.863, 0.863);如上代码,大小缩放为了原来尺寸的0.863倍。but..... 坑来了switch是放在cell中右侧,在进行布局的时候,layoutSubviews里设置了switc...原创 2019-09-23 14:58:47 · 1905 阅读 · 0 评论 -
git管理工具sourceTree使用问题总结
一、其他同事更改了其分支名称名同步到了远端,导致自己这边pull的时候报错error:cannot lock ref 'xx/xxx/xxx' : ref xxx/xxx/xxx is at <hash code1> but except <hash code2>(unable to update local ref)这时候可以选择更新下远端的分支结构,有一些...原创 2019-04-23 16:24:14 · 671 阅读 · 0 评论 -
UIView与自建Xib关联
因为UIView创建的时候默认是不能同时创建xib的,但是想用xib搭建界面更方便。关联步骤:1.在xcode想创建xib的地方command+n,选择View名字尽量和想要关联的UIView名称保持一致。2.在File's Owner中的第三项Class中输入UIView的名称3.选中xib中自动创建的view,执行与第二步相同的操作,Class中填入UIView...原创 2019-04-23 16:15:44 · 797 阅读 · 0 评论 -
初识Masonry,总结简单使用方法
前情:因项目多人开发,决定弃用xib了,所以改用Masonry来进行AutoLayout布局,这里简单总结下使用方法。*常用方法:label为例:[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.mas_equalTo(20); make....原创 2019-04-26 15:51:03 · 1599 阅读 · 0 评论 -
Xcode10运行旧工程报错multiple commands produce info.plist
如题,Xcode10运行旧工程报错multiple commands produce info.plist,截图如下解决方案:Xcode--File--Workspace Settings ,如下图。打开后将Build System:改为Legacy Build System。保存即可。如下图:...原创 2019-02-18 16:56:10 · 255 阅读 · 0 评论 -
iOS获取系统文字字号
UIFont *font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; UIFontDescriptor *ctFont = font.fontDescriptor; NSNumber *fontString = [ctFont objectForKey:@"NSFontSizeAttribute"]...原创 2018-11-14 17:40:55 · 2102 阅读 · 0 评论 -
UIButton放在屏幕底部响应按下延迟
转自:https://blog.youkuaiyun.com/haha223545/article/details/80259217第1部分:说明最近在做一个类似微信语音聊天的功能,在屏幕的底部放一个Button,按下时可以语音说话,松开时将语音发出去。但是做的过程中遇到一个坑:按钮放到页面最底部的时候会延迟touchDown事件。第2部分:解决步骤在网上找了一些回答,好多都是说受到Tab...转载 2018-08-28 15:28:53 · 532 阅读 · 0 评论 -
激活textField后直接选中所有文字
今天遇到个小需求:如果输入框有文字在未激活状态,点击后激活,默认选中所有文字。解决方案:开始尝试了设置textField.selectedTextRange,其start和end值可采用textField.beginningOfDocument和.endOfDocument.但是这两个值是只读的,查询未果后发现另外一个方法,只需一行代码,尝试后可行,现分享给大家:[self.textField p...原创 2018-06-12 16:02:12 · 2374 阅读 · 0 评论 -
关于textField输入光标颜色及cleanButton大小和颜色的设置
光标颜色设置:self.textField.tintColor = [UIColorwhiteColor];右侧的clean按钮:UIButton *clean = [self.textFieldvalueForKey:@"_clearButton"]; //key是固定的[clean setImage:[UIImageimageName原创 2017-07-28 14:18:24 · 5247 阅读 · 0 评论 -
导航栏背景色、标题颜色以及返回键自定义
1.导航栏背景色设置://设置为半透明self.navigationController.navigationBar.translucent = YES;//设置背景色及透明度[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageWithColor:[UICol原创 2017-07-25 18:29:45 · 2184 阅读 · 0 评论 -
textField.placeholder的文字颜色修改
//"通过KVC修改占位文字的颜色" [self.textField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];亲测有效~原创 2017-07-21 11:22:59 · 340 阅读 · 0 评论 -
iOS view无限360度旋转和停止
- (void)rotateView:(UIImageView *)view{ CABasicAnimation *rotationAnimation; rotationAnimation = [CABasicAnimationanimationWithKeyPath:@"transform.rotation.z"]; rotationAnim原创 2017-04-13 19:52:00 · 6451 阅读 · 0 评论 -
版本号比较方法
在开发中大家应该会遇到版本升级的问题,那么怎么对比版本号呢?特别是有的时候版本号长度还不等如:高版本号为6.8.0 而本地版本号为6.7.0.1如果是一般的位数相等的版本号解决方法可以是:1.去掉版本号中的“.“,然后转成float等数字进行对比即可。2.循环挨个字符对比,遇到不等的即可break;如果是版本号位数不等的情况,上边第二种方法也可以适用,但是稍显繁琐。原创 2017-03-08 16:28:53 · 2492 阅读 · 0 评论 -
带属性的字符串(NSMutableAttributedString)的使用
一、简单用法如下://要加颜色的字符串NSString * str = [NSStringstringWithFormat:@"%@回复 %@", name, reply_name];//初始化属性字符串NSMutableAttributedString * attString = [[NSMutableAttributedStringalloc]initW原创 2014-08-25 18:05:24 · 754 阅读 · 0 评论 -
截取图片中的某一块
/** *从图片中按指定的位置大小截取图片的一部分 * UIImage image 原始的图片 * CGRect rect 要截取的区域 */- (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect { CGImageRef sourceImageRef = [image C原创 2014-09-29 19:23:23 · 641 阅读 · 0 评论 -
如何获取button的backgroundImage
buttoncurrentBackgroundImage原创 2014-09-10 15:58:33 · 1558 阅读 · 0 评论 -
关于tableView复用的问题
在这里我只讲解一下原创 2014-08-25 20:14:53 · 1060 阅读 · 0 评论 -
实现一个controller上集成多个controller
这是我在做项目时遇到的一个问题,有一下原创 2014-08-20 16:39:11 · 1421 阅读 · 0 评论 -
UITextField全解
本文转载自://初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoun转载 2014-08-08 14:35:30 · 534 阅读 · 0 评论 -
inputAccessoryView的用法
UITextFields和UITextView有一个inputAccessoryView的属性,当你想在键盘上展示一个自定义的view时,你就可以设置该属性。你设置的view就会自动和键盘keyboard一起显示了。原创 2014-08-20 16:32:27 · 640 阅读 · 0 评论