![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
正能量_
这个作者很懒,什么都没留下…
展开
-
swift
有空再更新原创 2021-03-08 21:36:51 · 112 阅读 · 0 评论 -
iOS中的事件传递和响应者链条
首先我们来看看iOS中事件的产生和传递过程:1.发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的队列事件中2.UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常会先发送事件给应用程序的主窗口(keyWindow)3.主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件4.找到合适的视图控件后,就会调用视图控件的t翻译 2016-02-25 11:13:35 · 460 阅读 · 1 评论 -
iOS NSString 截取,objectAtIndex,rangeOfString,stringWithContentsOfFile,NSEnumerator
小结:1)componentsSeparatedByString:截取指定字符串;2) pathForResource:获取程序运行时目录3) objectAtIndex:获取当前索引的字符串;4) rangeOfString:获取指定短字符串在长字符串中的开始,结尾索引值;5) stringWithContentsOfFile:按行读取文件6)翻译 2016-04-19 09:23:17 · 914 阅读 · 0 评论 -
使用keychain保存用户名和密码等敏感信息 KeychainItemWrapper和SFHFKeychainUtils。
iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。相对于NSUserDefaults、文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用。从ios 3。0开始,跨程序分享keychain变得可行。转载 2016-05-04 21:28:52 · 528 阅读 · 0 评论 -
load,initialize,initWithCoder,awakeFromNib,initWithFrame,layoutSubviews 个人总结
在百度上各位大牛的基础上,自己总结和补充了一下,有不到位的多多补充iOS开发中几个重要的方法:1.加载类到内存,程序刚启动的时候调用,调用在main函数之前(只会被调用一次)+(void)load{ }2.初始化类,类第一次使用的时候调用一次(只会被调用一次)+(void)initialize{ }3.首先判断控制器是否有视图,没原创 2016-05-19 10:52:55 · 746 阅读 · 0 评论 -
UIImageView 的contentMode属性
UIViewContentModeScaleToFill UIViewContentModeScaleAspectFit UIViewContentModeScaleAspectFill UIViewContentModeRedraw UIViewContentModeCenter UIViewContentModeTop UIViewContent翻译 2016-04-13 09:49:55 · 339 阅读 · 0 评论 -
简述UIActivityIndicatorView的属性和用法
#import "ViewController.h"@interface ViewController ()@property (nonatomic, strong)UIActivityIndicatorView* activity;@end@implementation ViewController- (void)viewDidLoad { [super原创 2016-04-11 21:58:25 · 255 阅读 · 0 评论 -
IOS 字符串中去除特殊符号 stringByTrimmingCharactersInSet 应该用于账号登录等
先上个例子:NSString * str1 =[nameInput.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];NSString * str2 =[passwdInput.textstringByTrimmingCharactersInSet:[NSCha翻译 2016-04-11 21:42:00 · 310 阅读 · 0 评论 -
addSubview和 insertSubView 区别
addSubview 是将view加到所有层的最顶层相当于将insertSubview的atIndex参数设置成view.subviews count即[view addSubview:oneview] == [view insertSubview:oneview atIndex:view.subviews count]总之:addSubview是一层一层往上加,新加的原创 2016-01-25 12:28:40 · 651 阅读 · 0 评论 -
IOS UITextView和UITextFiled的区别
UIKit提供了一组控件:UISwitch开关、UIButton按钮、UISegmentedControl分段控件、UISlider滑块、UITextField文本字段控件、UIPageControl分页控件。这些控件的基类均是UIControl,而UIControl派生自UIView类区别是:1、UITextView支持多行输入并且可以滚动显示浏览全文,而UITextField只能单原创 2016-01-22 17:24:16 · 412 阅读 · 0 评论 -
automaticallyAdjustsScrollViewInsets 和edgesForExtendedLayoutse和translucent
automaticallyAdjustsScrollViewInsets 默认值即为 YES@property(nonatomic,assign)BOOL automaticallyAdjustsScrollViewInsetsNS_AVAILABLE_IOS(7_0);// Defaults to YESView Controller 的 self.view 的第一个原创 2016-11-06 21:35:08 · 493 阅读 · 0 评论 -
2017小孟同学年终总结
离2018年年假还有2天,今天大年二十五了,周六没上班,逛了一上午的技术博客,收货很大(还是谷歌搜索引擎强大)。回首2017年,这一年是我编思想改变最大的一年,也是自己心态改变最大的一年,做事和考虑问题的方式和以前有了很大的不同。作为程序员,遇到问题不要怕,先思考再行动,搞不定的再去谷歌百度找答案,最后才能选择请教别人。我们不只是代码的搬运工,我们是用一行代码改变世界的人,我们不一样(跟着节奏唱起...原创 2018-02-10 14:13:07 · 508 阅读 · 0 评论 -
iOS 远程推送(极光推送) 根据后台推送内容的不同跳转指定页面(不断更新)
基本步骤就不再说了,可以谷歌远程推送应用配置过程一. 创建支持远程推送功能的App ID二. 创建推送证书(开发证书和发布证书)和描述文件三. 下载CER文件,并导入钥匙串管理四. 我们需要重新生成一下配置文件下面开始就介绍,点击推送的内容跳转指定页面 现在点击推送消息,有两种跳转方式:一.打开应用,跳转到应用首页;默认的效果是点击推送消息,会直接进入应用,什么原创 2016-09-18 11:32:35 · 6729 阅读 · 0 评论 -
iOS 升级HTTPS 小计
在WWDC 2016开发者大会上,苹果宣布了一个最后期限:到2017年1月1日 App Store中的所有应用都必须启用 App Transport Security安全功能。也就是说,自2017年起,网络请求必须由http改成https,当然后来说是不是强制的,但是是早晚的事情. 言归正传: 服务器增加HTTPS并不需要在代码中做什么,只要服务器配置下就好 简单得说就是客户端向服务器发起需求原创 2017-01-11 17:32:43 · 419 阅读 · 0 评论 -
iOS跳转界面时隐藏tabBar的方法(隐藏tabBar底部变黑)
//1.设置self.tabBarController.tabBar.hidden=YES; self.tabBarController.tabBar.hidden=YES; //2.如果在push跳转时需要隐藏tabBar,设置self.hidesBottomBarWhenPushed=YES; self.hidesBottomBa原创 2016-09-18 18:06:39 · 7728 阅读 · 0 评论 -
UITableView的优化
1.正确地使用UITableViewCell的重用机制UITableView最核心的思想就是 UITableViewCell 的重用机制。UITableView 只会创建一屏幕(或一屏幕多一点)的 UITableViewCell ,每当 cell 滑出屏幕范围时,就会放入到一重用池当中,当要显示新的 cell 时,先去重用池中取,若没有可用的,才会重新创建。这样可以极大的减少内存的开销。原创 2016-04-02 15:33:02 · 214 阅读 · 0 评论 -
上架被拒绝(个人总结)
第一次被拒:我们的app描述文字里出现了逼格关键字,app的启动页中有一张图片上出现了逗逼的关键字。将文字和图片修改后,需要重新打包提交(因为启动页图片修改了),所以重新排队Waiting For Review反思:我们这次上线的是V3.0.0版本,是一个大版本,有很多的功能改进和优化,所以介绍性文字和图片有一些调整,但是在提交审核的时候又没有引起足够的重视,一方面可能是之前的提交太顺利了原创 2016-04-02 15:31:07 · 479 阅读 · 0 评论 -
UIView的alpha、hidden和opaque属性之间的关系和区别
一、alpha液晶显示器是由一个个的像素点组成的,每个像素点都可以显示一个由RGBA颜色空间组成的一种色值。其中的A就表示透明度alpha,UIView中alpha是一个浮点值,取值范围0~1.0,表示从完全透明到完全不透明。当把alpha的值设置成0以后:1、当前的UIView和subview都会被隐藏,而不管subview的alpha值为多少。2、当前UIVie转载 2016-03-31 22:48:03 · 450 阅读 · 0 评论 -
去掉UITableViewCell左侧会有默认15像素的空白,ios8之后新的解决方法
在ios7中,UITableViewCell左侧会有默认15像素的空白。这时候,设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉。但是在ios8中,设置setSeparatorInset:UIEdgeInsetsZero 已经不起作用了。下面是解决办法1:这个我自己的方法直接在cellForRowAtIndexPath方法中添加:原创 2016-06-05 16:31:56 · 951 阅读 · 0 评论 -
IOS计算UILabel单行高度、计算UILabel多行文本高度、宽度的技巧,根据文本的高度设置cell高度
首先来看单行文本的问题:对于单行文本来说,计算CGSize就比较简单了,这里直接上代码了,如下:NSString *content = @"欢迎来到北京";CGSize size =[content sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}]; NSLog(@原创 2016-08-04 17:42:18 · 7827 阅读 · 0 评论 -
获取tableView(UICollectionViewCell)中cell相对于(UICollectionView)tableView.superView的区域坐标(位置)
在tableview上有这个方法CGRect rectInTableView = [tableView rectForRowAtIndexPath:indexPath];CGRect rectInSuperview = [tableView convertRect:rectInTableView toView:[tableView superview]];在collec原创 2016-09-05 10:20:49 · 7648 阅读 · 0 评论 -
ios 下全局断点或者局部断点xcode会闪退
这个问题困扰我大半月,周末的时候特意抽个时间谷歌了一下xcode 闪退之后,弹出一个窗口:其中一条崩溃信息是Crashed Thread: 20 Dispatch queue: DVTInvalidationPreventionQueue解决方法点击项目- Build Settings - 搜索CLANG_ENABLE_MODULE_DEBUGGING设置为NO原创 2016-09-11 11:12:40 · 2305 阅读 · 0 评论 -
UIScrollView如何判断是向右滚动还是向左滚动
在做类似网易新闻和今日头条的那个效果时候当我滚动下标为0的时候,也就是第一个标题的时候,往右继续滑动,会重复请求第一个标题的数据同理当我滚动到最后一个标题的时候,会重复请求最后一个标题的数据特此记录下解决方法:1:首先设置pageEnable=YES;然后通过Delegate实现相关方法。2:#pragma mark - 将要开始拖拽,手指已经放在view上并准原创 2016-09-22 14:42:23 · 5550 阅读 · 0 评论 -
iOS-获取当前View所在的控制器
在做轮播图的时候,有点轮播图展示的是广告,有的是活动,等等还有其他的当前点击某个轮播的时候要跳转到不同的控制器,点击事件是在控制器写的,为了避免控制器代码过多,显示的臃肿我创建了一个UIWindow的分类,暂且叫Model (GetCurrentVC)谷歌还有很多方法,我这个方法亲测有效,其他方法后续再测试一:@interface UIWindow (GetCurrentV原创 2016-09-24 23:00:18 · 1682 阅读 · 0 评论 -
The Operation couldn't be completed.(LaunchServicesError error 0.) 的完美解决方法
之前Xcode运行项目的时候,偶尔会出现这样一个窗口提示:The Operation couldn't be completed.(LaunchServicesError error 0.)之前的解决方法是:1.点击当前的模拟器,点击IOS Simulator->Reset Content and Settings...->Reset,然后会重置模拟器,原创 2016-09-26 11:59:08 · 8573 阅读 · 0 评论 -
willDisplayCell 和cellForRowAtIndexPath区别
cellForRowAtIndexPath方法只负责创建cell,cellForRowAtIndexPath是data source协议中一个必须实现的方法,willDisplayCell方法才给cell进行赋值操作,willDisplayCell是delegate协议中一个可选的方法。tableView: cellForRowAtIndexPath: 创建或者从重用队列里面原创 2016-09-28 15:18:34 · 11393 阅读 · 0 评论 -
设置UIImage的渲染模式:UIImage.renderingMode(两种方式)
最终效果图第一种方式,xcode直接设置如下如然后设置他的tintColor即可self.addOneButton.tintColor = [UIColor blueColor];原创 2016-10-14 17:15:38 · 1097 阅读 · 0 评论 -
UITableView获取cell的indexPath.row值(多种方式)
一:如果你是自定义cell,新建 .xib,中的按钮为:AotuBtn两种方式: //获取点击cell的indexPath第一种方式 UITableViewCell *cell = (UITableViewCell *)[[[sender superview] superview] superview]; NSIndexPath *indexPath = [self原创 2016-10-15 21:16:38 · 13197 阅读 · 0 评论 -
stringByReplacingOccurrencesOfString 去掉字符串,替换空格等等
NSString的几种常用方法要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定。[string stringByReplacingOccurrencesOfString:@"-"withString:@"/"]; 一句话搞定。用stringByReplacingOccurrencesOfString转载 2016-06-07 10:01:48 · 6896 阅读 · 0 评论 -
iOS应用性能调优的25个建议和技巧
iOS应用性能调优的25个建议和技巧 本文来自iOSTutorial Team的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_。性能对 iOS应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失翻译 2016-03-29 13:48:00 · 454 阅读 · 0 评论 -
Runtime工作实用场景
先说一个我工作中用到的场景吧产品经理说5s上字体太小了,项目比较大,设置字体的代码太多了, 不可能一个个改这个时候Runtime就派上用场了,我这里交换的系统方法是willMoveToSuperview也可以交换systemFontOfSize也就是Hook了系统的方法零:交换方法这里就实现了把整个项目所有设置字体的方法替换了,以此类推,你也可以交换系统或者第三...原创 2016-03-23 22:43:45 · 2207 阅读 · 0 评论 -
iOS开发网络篇—NSURLConnection基本使用
1.NSURLConnection的常用类:NSURL,NSURLRequest,NSMutableURLRequest,NSURLConnection2.NSURLConnection发送请求的方法:同步:S开头。异步:A开头。3.回调的方法:block回调,设置代理。参考:http://www.cnblogs.com/wendingding/p/3813572.转载 2016-03-21 21:32:29 · 251 阅读 · 0 评论 -
iOS 数据存储的常用方式
http://www.jianshu.com/p/14fd706b632d转载 2016-03-20 16:49:27 · 244 阅读 · 0 评论 -
使用IOS7原生API进行二维码条形码的扫描
IOS7之前,开发者进行扫码编程时,一般会借助第三方库。常用的是ZBarSDK,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析二维码的接口。经过测试,使用原生API扫描和处理的效率非常高,远远高于第三方库。一、使用方法示例官方提供的接口非常简单,代码如下:?12345678910转载 2016-03-13 23:04:18 · 453 阅读 · 0 评论 -
详细介绍下iOS-Runtime
一:写在前面:为了便于理解,以下分析我尽量写的简单明了RunTime API提供的接口基本都是C语言的,源码是由C/C++和汇编语言编写我们平时写的代码,首先是编译代码,然后运行程序对于C语言,函数的调用在编译的时候会决定调用哪个函数RunTime可以在程序运行的过程中动态去修改之前编译的东西OC的动态性是由RunTime支撑的二:开始写代码程序员大多数都是男的,下面我...原创 2016-03-13 23:03:19 · 3154 阅读 · 1 评论 -
IOS开发数据库篇—SQLite模糊查询
一、示例说明:本文简单示例了SQLite的模糊查询1.新建一个继承自NSObject的模型该类中的代码: 1 // 2 // YYPerson.h 3 // 03-模糊查询 4 // 5 // Created by apple on 14-7-27. 6 // Copyright (c) 2014年 wendingding. All rights rese转载 2016-03-10 13:05:09 · 280 阅读 · 0 评论 -
iOS WebView的用法
一、UIWebView可以加载和显示某个URL的网页,也可以显示基于HTML的本地网页或部分网页:a. 加载URLWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 320, 400)]; NSString *path = @"http://www.baidu.com"; NSURL *url转载 2016-02-27 09:57:51 · 453 阅读 · 0 评论 -
TPKeyboardAvoidingScrollView用于在scrollview中实现自动上滚,避免键盘遮盖住了textfield,textview等控件。
TPKeyboardAvoidingScrollView用于在scrollview中实现自动上滚,避免键盘遮盖住了textfield,textview等控件。使用方法:将TPKeyboardAvoidingScrollView.h和TPKeyboardAvoidingScrollView.m add进工程中在需要用键盘自动上滚的controller的xib文转载 2016-06-01 21:39:58 · 487 阅读 · 0 评论 -
UIButton按钮点击无响应(按钮的位置在父视图之外的解决方法),传递响应链
项目中碰到个bug,当前控制器的TabBar隐藏之后,在TabBar位置添加一个按钮,由于self.view的y值距离底部是49,点击按钮没有反应,特此记录下解决方法自定义view,比如demoView#import @interface demoView : UIView- (UIView *)hitTest:(CGPoint)point withEvent:(UIEven原创 2016-10-18 22:40:47 · 1794 阅读 · 0 评论