ios开发
文章平均质量分 91
乌鸦白WHITECROW
瞎折腾
展开
-
Object-C赋值的那点事
如果你曾用过Java等其他语言,或对下面的语句产生疑惑self.view.frame.size.height = 100f;这样写没法通过编译,编译器会报错”expression is not assignable”原因是,这句话里面的几个点有两种不同的含义。self.view.frame是Objective-C语法,是读取view属性的frame属性,在Objective-C中使用点来访问属性只是转载 2016-11-03 13:05:57 · 942 阅读 · 0 评论 -
关于StatusBar相关问题解决
关于StatusBar隐藏问题首先需要提到的便是在plist文件中的UIViewControllerBasedStatusBarAppearance这个属性,默认是YES,意思状态栏的外观是否是基于视图控制器,如果个别控制器需要对StatusBar做操作应在某些控制器中处理,通过UIApplication来操作StatusBar就无效,反之UIViewControllerBasedStatusBa原创 2016-12-30 10:53:05 · 730 阅读 · 0 评论 -
最全CocoaPods下载安装及使用(使用cocopods看本文就够了)
什么是CocoaPods?CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在iOS开发中经常会用到第三方库如AFNetworking,ASIHtt原创 2016-10-27 15:22:54 · 2711 阅读 · 0 评论 -
UIViewController属性介绍—持续更新
edgesForExtendedLayout说明:是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向默认值UIRectEdgeAll :四周边缘均延伸,ios7之后在有导航栏时会使控制器的view下移44pxself.automaticallyAdjustsScrollViewInsets=NO;原创 2016-12-22 14:34:22 · 414 阅读 · 0 评论 -
Object-C运行时(RunTime)机制访问隐藏成员变量
有时候我们访问类的某些属性但是头文件中并未提供,这时需要运用RunTime技术导入头文件#import <objc/runtime.h>提供类方法+ (void)getIvars{ unsigned int count = 0; // 拷贝出所有的成员变量列表 Ivar *ivars = class_copyIvarList([UITextField class],原创 2016-12-17 13:39:32 · 556 阅读 · 0 评论 -
UITextField格式化银行卡号码解决方案
今天做格式化银行卡,避免重复造轮子,找度娘查了下,看到一个不错的实现方式,记录下来,并附带实现思路#pragma mark - UITextFieldDelegate UITextField键入字符后调用- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacemen原创 2016-12-14 00:46:33 · 785 阅读 · 0 评论 -
UITableViewCell自适应高度方法
因为比较简单,就说下步骤,但是需要注意的时,此方法只适合ios8及以上设置cell底部跟cell的子控件的高度约束初始化tableView的cell高度设置,代码如下self.tableView.estimatedRowHeight = 44;self.tableView.rowHeight = UITableViewAutomaticDimension;原创 2016-12-12 23:07:12 · 437 阅读 · 0 评论 -
使用CocoaPods引入第三方库依赖冲突
问题描述最近初期就引入了pod ‘MBProgressHUD’, ‘~> 1.0.0’最新的版本,后面由于项目需求需要用到其他第三方库,但当前库中又依赖了MBProgressHUD而且制定了版本号为:0.9.X系列的版本库,这时pod install时就会出现提示 注意:上面提示应该还会有一条说你当前Podfile.lock中已经把MBProgressHUD锁定到1.0.0版本了,这个是我演示原创 2016-12-02 18:45:58 · 11941 阅读 · 0 评论 -
在storyboard或者xib中使用autolayout对UIScrollView进行布局需要注意的问题
为了方便描述问题,我们从一个简单的例子开始说起首先在storyboard中拖入UIScrollView设置它的Leading Trailing Top 再给定一个高度height为200,再简单不过的一个自动布局 完成后成功添加没有一点问题,我们设置这个scrollView的背景颜色为灰色,然后往它上面再增加一个普通的uiview设置背景颜色为红色 注意这个时候左边的场景面板中出现了红色错误提示,原创 2016-11-18 15:46:12 · 2748 阅读 · 0 评论 -
使用objc_msgSend真机调试崩溃解决方法
问题描述最近一个项目中使用Class动态创建自定义cell用到了objc_msgSend方法,在模拟器上面跑一点问题也没有,但是放到iphone 6上面发现运行到这个方法直接崩溃了 报EXC_BAD_ACCESS错误,当天下午搞了一下午也没解决,今天上午终于发现是因为arm处理器架构的原因先普及下iphone的arm常识 armv6、armv7、armv7s、arm64都是arm处理器的指令集原创 2016-11-19 15:28:42 · 1144 阅读 · 0 评论 -
dependency analysis warning: The Copy Bundle Resources build phase contains this target's Info.plist
dependency analysis warning: The Copy Bundle Resources build phase contains this target’s Info.plist file ‘xxx/Info.plist’.出现Warning的原因遇到这种情况,是因为在合成项目,或者添加项目文件时,将Info.plist 文件以下列方式加入到了项目中。 实际上编译器会自动将I转载 2016-11-02 17:23:06 · 471 阅读 · 0 评论 -
利用KVO监听对象属性
例如想通过kvo监听当前控制器view的frame改变通过addObserver增加监听#define keyPath(objc,keyPath) @(((void)objc.keyPath,#keyPath))// Observer:观察者 谁想监听// KeyPath:监听的属性// options:监听新值的改变[self.view addObserver:self forKeyP原创 2016-11-13 03:11:37 · 739 阅读 · 0 评论 -
UIView事件处理-01
UIView不接收触摸事件的三种情况不接收用户交互 userInteractionEnabled = NO隐藏 hidden = YES透明 alpha = 0.0 ~ 0.01 注意:UIImageView的userInteractionEnable默认就是NO,所以UIImageView以及它的子控件默认是不能接收触摸事件的原创 2016-11-13 02:33:48 · 278 阅读 · 0 评论 -
使用IMP报错:参数错误
最近在学习OC 运行时(runtime),测试了一个函数class_replaceMethod,具体如下:IMP originalMethod;NSString *CustomUppercaseString(id SELF,SEL _CMD){ NSLog(@"BeginConverting。。。"); NSString *result=originalMethod(SELF,_C转载 2016-11-16 14:42:58 · 826 阅读 · 0 评论 -
App Transport Security has blocked a cleartext HTTP
Xcode中发送请求时,报如下错误App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file. 新特性要求App内访问网络原创 2016-10-30 22:17:53 · 297 阅读 · 0 评论 -
UITableView性能优化的几种方式
tableView性能优化 - cell的循环利用方式1/** * 什么时候调用:每当有一个cell进入视野范围内就会调用 */- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ // 0.重用标识 // 被static转载 2016-11-09 00:04:23 · 285 阅读 · 0 评论 -
NSDictionary常见用法
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //创建字典 NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey原创 2016-11-08 20:03:20 · 295 阅读 · 0 评论 -
ios基础篇—图标尺寸选择 AppIcon&LaunchImage
常用位置选择 一般情况下图片按照标准格式直接拖入到appIcon或者LaunchImage下会自动进行匹配,但是有时候还是会包出黄色警告,对于开发人员还是需要了解下,下面就把命名规则和常见的位置和尺寸列出方便对照修改AppIcon 说明:苹果是准备放弃对iphone4的支持了57x57及114x114,在ios7以后在iphone5s、iphone6、iphone6s以及iphone7中图原创 2016-10-16 13:59:54 · 20129 阅读 · 0 评论 -
NavigationController & NavigationBar常见用法以及设置
以下所述的所有方法都是针对于iOS8.0之后对于navigationBar的一些设置,尤其是当使用继承自UIScrollView的控件时,有时候经常要针对于navigationBar做出一些设置,不多说上方法:1,self.navigationController.hidesBarsOnSwipe = YES ;当tableView等滑动的时候是否隐藏navigationBar,YES表示隐藏,NO原创 2016-12-22 14:35:42 · 500 阅读 · 0 评论