
徐如林 iOS-View
文章平均质量分 64
追风舟
这个作者很懒,什么都没留下…
展开
-
iOS-底层知识解析->KVO
当被添加以后,系统会利用派生一个[NSKVONotifyin_Person]作为监听[Person]的子类。他的指针指向Person类,并且内部会重新对属性的方法重写。并且派生类中会重写监听属性的方法、重写class方法、重写dealloc方法和_isKVOA方法等。且方法内部会顺序调用方法,原来的方法、方法,而方法内部又会调用监听器的observeValueForKeyPath:ofObject:change:context:监听方法。如果只单单调用是不会生效,所有在该方法内部会有判断是否调用方法在先1:原创 2022-06-23 20:42:54 · 554 阅读 · 1 评论 -
isa指针
class的isa指向meta-classclass继承对象调用父类instance方法时的supercCassclass继承对象调用父类class方法时的supercCassinstance对象classmeta-classisaisaisa其他成员变量superclasssuperclasscol 3 is属性、对象方法、协议、成员变量类方法有些地方说的不到位,还请各位看官指正。。。可以来微信公众号(洲洲哥)后台给我们留言。 快来扫码关注我原创 2022-06-23 20:42:01 · 252 阅读 · 0 评论 -
objc_getClass和object_getClass
Class object_getClass(id obj)- (class)class、+(class)class有些地方说的不到位,还请各位看官指正。。。可以来微信公众号(洲洲哥)后台给我们留言。 快来扫码关注我们吧!原创 2022-06-23 20:41:25 · 361 阅读 · 0 评论 -
iOS用代码判断设备是否越狱
提供一个简单的方法,如果想要完美还找你越狱是安装的软件路径jay FreeMan为什么要查找Cydia.app,给看官想知道吗?有些地方说的不到位,还请各位看官指正。。。可以来微信公众号(洲洲哥)后台给我们留言。 快来扫码关注我们吧!...原创 2022-06-23 20:40:01 · 483 阅读 · 0 评论 -
iOS 错误 [UIWebView paste:]: unrecognized selector sent to instance
出现控件: 切记!!!那在什么场景中会出现这种情况呢?如果一个包含文字的输入元素有焦点,然后按钮的点击会导致输入失去焦点,然后接下来在输入时双按会重新得到焦点并从弹出bar中选择剪切复制粘贴,就会导致此error。也就是说当WebView页面中的HTML中有如下代码的时候即有输入框和按钮的时候,会出现 [UIWebView cut:]: unrecognized selector sent to instance 的错误风险简单的说就是若有一个WebView中有输入框,又有按钮的话,执行下面的操作就会出现原创 2022-06-23 20:39:15 · 330 阅读 · 0 评论 -
使用UICollectionView制作轮播图(一)
1:要把UICollectionView的视图横向展示2:把距离屏幕最近的那个item展示在最前面好吧今天就放到最步骤1的功能创建UICollectionView很简单,这里说一下和平常使用UICollectionView的区别看一下代码这里只改变了,设置UICollectionView的滑动方向其他没有变化##2:在创建UICollectionView时注意选择设置了横向滑动的Layout的文件####下期预告使用UICollectionView制作轮播图(二)把当前距离屏幕最近的item原创 2022-06-23 20:38:33 · 401 阅读 · 0 评论 -
iOS调用文件app(file.app)选择文件和下载
第三方应用调用系统文件app,并下载文件。###配置如下1:证书文件配置在Identifiers下创建你的iCloud Containers配置,点击“+”创建2:在Identifiers下选择你要添加icloud的boundid把icloud配置勾选上既可3:打开工程中的配置如下4:可选配置在info.plist中添加如下两个配置Supports opening documents in placeApplication supports iTunes file sharing结果都为YES原创 2022-06-23 20:37:42 · 2728 阅读 · 0 评论 -
【无标题】
objc所有类和对象都是c结构体,category当然也一样,下面是runtime中category的结构:注意,并不是category小括号里写的名字,而是类的名字要扩展的类对象,编译期间这个值是不会有的,在app被runtime加载时才会根据对应到类对象这个category所有的方法这个category所有的方法这个category实现的protocol,比较不常用在category里面实现协议,但是确实支持的这个category所有的property,这也是category里面可以定义属原创 2022-06-23 20:36:58 · 103 阅读 · 0 评论 -
对微信支付和支付宝支付SDK的封装
有提供的pod库提供使用,但是只提供了进行支付。但是想要在唤起的时候,无法获取。当然你在分享的时候想获取分享结果也是一个未知数。so,今天来解决一下.两平台处理方式基本一样3.1注册微信appid和遵循支付宝支付的网页支付结果的代理这里的是针对的回调结果。3.2唤起微信支付3.3 获取微信支付结果回调3.4 唤起支付宝支付3.5 唤起支付宝支付回调结果3.6 支付结果统一回调3.7 支付回调代理函数这里的有针对微信支付回调结果返回时.注意3.3步骤里的block。大概原因:由于两个block加原创 2022-06-23 20:35:54 · 354 阅读 · 0 评论 -
使用 ionic开发-页面跳转
用ionic开发就要有页面之间的跳转和返回下面就上代码1:首先要注入'$state'跳转代码如下$state.go('detail', {id: index});注意这里的'detail'就是我们在启动文件里设置的state里case信息,后面的id就是需要传入的值2:页面之间的返回首先注入$ionicHistory返回代码如下$ionicHistory...原创 2016-12-21 14:53:15 · 1735 阅读 · 0 评论 -
__attribute__ 高级运用
,用于修饰一个变量(对象),在它的作用域结束时可以自动执行一个指定的方法1:对于Class对象2:对于NSString对象高级用法1:既然可以用来修饰变量,当然也是其中之一一块搞一个2:写一个实例如下2.1:创建一个类在中如下定义在如如下2.2:调用如下2.3:打印如下可以看出在dealloc之前调用该方法1* 作用域结束时可以自动执行一个指定的方法2* 指定一个cleanup方法,要注意传入的参数修饰变量的地址,并且类型要一样。并且对于指向Objc对象的指针(id *),如果不强制声原创 2022-06-23 20:34:07 · 390 阅读 · 0 评论 -
制作cocoapods私有库遇见的问题
最近在制作cocoapod的,发现 , ,。都没问题但是最后出现了这个问题你会发现, 或者 都会提示这个解决办法按住啊commamd + shift + G然后输入~/Users/zzg/.cocoapods/repos到repos下把对应的的工程给删除即可...原创 2022-06-22 22:36:46 · 207 阅读 · 0 评论 -
自定义辅助视图accessoryview
自定义辅助视图accessoryview原创 2022-06-22 22:35:55 · 171 阅读 · 0 评论 -
NSProxy
吾尝以为是Apple的所有Objective-C引用类型的老祖宗,直到后来知道了的存在…和平级,彼此没有继承关系;唯一的相同点是它们都遵循。尚未在开发中使用过,最近琢磨需求开发的方案时注意到了这个类的存在,有不少疑问,譬如存在的意义是什么?如何使用它呢?本文将疑惑记录下来,并尝试自我解惑。是一个抽象类,它实现了所要求的基本方法,譬如内省相关的、派发消息相关的performSelector系列方法等;但是不能直接使用它创建对象。子类化的要求也很简单,实现和这两个方法即可;显然,这两个方法与消息转发相关,实现这原创 2022-06-22 22:34:47 · 883 阅读 · 1 评论 -
iOS制作支付宝支付SDK
git下载地址pod 下载地址1:配置工程文件3:支付回调支付的api太low了,SDK都升级了,你的api能升级一下吗?原创 2022-06-22 22:33:37 · 412 阅读 · 0 评论 -
iOS制作微信(weChat)支付SDK过程
Git下载地址微信支付可支付的demo已经做成组件在cocoapods里可以搜索1:下载微信支付demo,把以前几个文件摘出来2:设置info.plist允许http访问App Transport Security SettingsAllow Arbitrary Loads :YES设置URL Types3:接入微信支付appdelegate4:支付回调5:唤起微信支付......原创 2022-06-22 22:32:46 · 1111 阅读 · 0 评论 -
iOS制作银联支付SDK过程
银联支付SDK下载地址git下载地址选择手机控件下载即可,下载包中含有对应的开发文档和demo本文记录主要讲把银联支付做成cocoapods组件供各位看官方便使用。大家现在可以搜索配置UnionPaySDK.podspec文件直接上podspec文件,主要配置请看注释在配置该podspec文件时要注意UPPaymentControl.h放入class文件夹libPaymentControl.a放入frameworks文件夹如图注意:一.........原创 2022-06-22 22:31:57 · 512 阅读 · 0 评论 -
数据库升级问题总计(一)
数据库升级问题总计(一)1:概念篇在iOS技术应用开发中,数据库我们常用:比如FMDB、coredata、最新还出了一个数据存储的 技术具体叫什么名字我后期加上。现在忘了。顺便再这里问大家一句:这个FMDB和coredata有什么区别?我个人觉得出了苹果提供给的coredata的api、自生的多线程不安全外,其他的还真没什么区别这里请大家正确理解数据库升级和升级sqllite。 正常情况第一版发布数据库版本就已经构建。但我们在第二版发布的时.........原创 2022-06-22 22:30:00 · 513 阅读 · 0 评论 -
iOS中Delegate的使用介绍
如果A想用B中的方法就要用代理来实现.具体实现步骤如下:(一个控制器一个uiview,uiview为A,控制器为B)1: 首先创建一个协议,该协议中的方法是 b想用a中的那个方法 func2: a想用b里的方法(在A类中)((可以理解)为 A 想调用B的方法,这个时候可理解成A继承了B.这时候b要做为父类,b里拥有子类,在b的.h文件中声明一个b类对象的...原创 2015-07-17 10:35:41 · 748 阅读 · 0 评论 -
iOS中手写UITableViewCell的实现与逻辑(cell固定高度展现)
Ios中实现cell的重绘,会需要一点点的计算...原创 2015-07-20 14:00:20 · 1464 阅读 · 0 评论 -
iOS中实现视图的拖动
因为 UIView支持触摸时间,(uiview继承于UIResponder),而支持多点触摸需要定义UIView的子类,实现触摸相关的方法.触摸相关的方法有/**触摸开始时经过的事件*/- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event/*** 触摸滑动时处理的事件...原创 2015-07-16 08:57:06 · 1609 阅读 · 0 评论 -
iOS中视图控制器指定自定义UIView
他的好处就是在程序执行viewDIdLoad之前可以把我们需要用的数据加载完成.这也是减轻控制器的负担之一的办法.但是我个人觉得好是每有数据的延迟加载的功能牛.延迟加载只在数据需要的时候才被加载到视图,而不是一下子全部加载.--------------------------------------------------------------------------...原创 2015-07-15 10:44:14 · 1574 阅读 · 0 评论 -
iOS中自定义视图控件
在平常的开发中,可能有些代码是有重复使用,或者在另外的一个项目中会有这样的功能段.这个时候我们就要把该功能段封装,打包,以便后续使用.在调用的时候用有点类似于:有很多属性的类一样,在调用的使用要初始化,使用类的属性只需取出既可.实现功能过程如下1:首先创建一个控制器继承自UIView2:创建一个uiviewcontroller,把自定义uiview在...原创 2015-07-14 19:45:07 · 961 阅读 · 0 评论 -
iOS中UIButton的使用
UIButton和UIImageview都能显示图片,但是button能加载事件,关于他们之间的区别,已在我之前的文章里说明过,此处不做说明.1:创建UIButtonUIButton *dutyBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];这里的创建button的时候和其他的空间初始化的时候不一样,因为...原创 2015-07-13 23:08:12 · 994 阅读 · 0 评论 -
iOS中UITextField使用
UITextField同样也是在ios中使用频率最高的控件之一,他可以用来接受输入的文本内容,当点击时可以借助虚拟键盘来操作文本内容等信息.UITextField和UIlable相比UIlable只能显示文本UITextField 能显示文本,也能接受文本.1:创建一个UITextField和label的创建方法一样.第一步:开辟内存空间,并初始化/...原创 2015-07-13 22:40:33 · 2092 阅读 · 0 评论 -
iOS中UILabel的用法(三 )
UILabel是在app中最常用的控件,他继承了UIView,那就是说他拥有了UIView所拥有的方法.在UILabel中最常用的就是赋值显示,还有就是设置他得透明度了alpha....1:创建UILabelUILabel *text = [[UILabel alloc] initWithFrame:CGRectMake(50, 50, 200, 50)];和其他的控件一样...原创 2015-07-11 09:23:20 · 859 阅读 · 0 评论 -
iOS中UIView的用法(二)
在ios中向控制器中添加一个控件都是继承自UIView的,反过来说就是,每个控件都是UIView的多态的表现形式.总结如下:1:每个UIView代表一个屏幕上得一个矩形区域2:创建一个UIView2.1首先UIView是一个类所以在声明的时候要在对应的对象前加一个"*"来表示声明的对象.UIView *view = [[UIView alloc] initW...原创 2015-07-10 21:18:55 · 844 阅读 · 0 评论 -
iOS中UIWindow的用法(一)
今天发得东西较多,我觉得这些个东西需要分开来写,应为用的就一点,有的很重要.在这里的个人觉得这个window要记得的东西不是太多,当然相对来说的啊,到现在用到的地方也就是在设置程序启动的页面时,会想起这个东西了.总结如下:(1)window就是窗口,在ios程序中就是提供给程序运行的接口,来让程序有序的运行.每个app就是需要靠他来展现给客户的.(2)每个...原创 2015-07-10 19:32:25 · 838 阅读 · 0 评论 -
iOS中UIScrollView的简单用法
/。。。。。原创 2015-07-04 17:41:58 · 1303 阅读 · 0 评论 -
iOS中使用UITableView加载数据项
ios中用UITableView加载数据 实现步骤 1:添加数据源和数据代理模式 2:设置数据源和代理 3:实现 具体步骤如下: 1:添加数据源和数据代理模式 在oc中添加的方法如下图1位置标注 在@interface viewcontrol()后面用“第二步: 在程序加载时设置table的数据源和数据代理模式代码如下:...原创 2015-07-01 19:32:17 · 1667 阅读 · 0 评论 -
iOS中使用UITableView的实现向左拉实现删除
实现UITableVIew实现向左拉,实现删除情况。原创 2015-07-01 14:06:17 · 1571 阅读 · 0 评论 -
iOS中使用.plist文件延迟读取的方法(续)
在上一篇(OS中使用.plist文件延迟读取的方法)中在给可变字典添加数据的时候用了 for (NSDictionary *dict in dictArray) { MjApp *app = [MjApp AppWithDict:dict]; [appView addObject:ap...原创 2015-06-24 17:12:57 · 855 阅读 · 0 评论 -
iOS中使用.plist文件延迟读取的方法
以下是我个人的理解,不对的地方请谅解。 先说一下延迟加载: 我们在ios中读取plist文件时,在程序load时就要把文件中的所有的信息加载到一个可变的数组中。这样就会消耗大量的时间来读取,并且可能占用内存过大。为了解决这个问题,就要用延迟加载来解决。 延迟加载:就是在程序用到的时候调用数据。 举例开始: 1:下面是一个plist...原创 2015-06-24 16:41:13 · 991 阅读 · 0 评论 -
iOS中ui单列模式 uibutton和uiimageview 的区别
UIInmageView 和UIButton 的区别1:使用场合 1: UIImageView:如果仅仅显示图片,不需要监听图片的时间 2: UIButton:既要现实图片,又要监听图片的点击2:相同: 都能显示图片3:不同点: 1: UIButton 能处理点击事件,UIImageV...原创 2015-06-20 15:59:47 · 646 阅读 · 0 评论 -
iOS---错误合集
1:最近做微信登录在真机上调试的时候遇见一个问题ld: '/Users/hzbj/Desktop/工程/20151118/weixinOAuth/weixinOAuth/libWeChatSDK.a(WXApiObject.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode settin原创 2015-11-19 15:40:34 · 874 阅读 · 0 评论 -
iOS使用极光推动的实现
iOS使用极光推动的实现1:应用程序注册消息推送2:iOS 从apns server 获取devicetaoken 应用程序接受device token3:app发送推送消息给服务器(极光,公司自己的服务器)4:服务器发给apns server ,在经过转发到用户app(此步程序员不需考虑)app放在真机上调试,........具体为神...原创 2015-08-25 21:40:52 · 954 阅读 · 0 评论 -
iOS中传值方式
在iOS中传值大概有以下几种方式这里重点介绍通知中心传值:1:通知中心传值NSNotificaticonCenter提供了一种更加解耦的方式.最典型的应用就是任何对象对可以发送通知到通知中心,通知任何对象可以监听中心的通知.通知中心就像在广播,广播出去的信号按照规定的名字广播出去,如果想收听就要调到对应的频道接受.发送通知的代码如下NSDicti...原创 2015-09-17 17:34:51 · 778 阅读 · 0 评论 -
iOS解决http请求不能使用问题
升级Xcode 7.0 bata发现网络访问失败Google后查证,iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS)新特性要求App内访问的网络必须使用HTTPS协议。但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。...原创 2015-10-14 19:20:33 · 5398 阅读 · 0 评论 -
iOS给Navigation的BarButton的加消息提醒角标
先看效果图代码如下给UIBarButtonItem加一个延展.h文件如下#import @interface UIBarButtonItem (Badge)@property (strong, nonatomic) UILabel *badge;// Badge value to be display@property (nonatomic) NSSt原创 2016-01-18 18:17:27 · 4833 阅读 · 0 评论 -
iOS给UIView添加延展使用与Button、uiview。。。
下面给大家做一个小小的演示代码,具体的工程中,大家在做设置了。。。看一下代码调用self.cutsView = [[UIView alloc] init]; self.cutsView.X = 100; self.cutsView.Y = 100; self.cutsView.W = 50; self.cutsView.H = 200; self.c...原创 2016-01-27 10:00:48 · 1564 阅读 · 0 评论