摘要: 使用NSTimer的时候可能存储内存泄漏问题,例如:当控制器销毁时,会发现dealloc没有被调用,问题的原因在于timer对控制器对象有强引用,即使是使用了weakSelf 如需解决这个问题,就得解决问题的原因timer对target对象的强引用,方式可以修改timer的引用为间接对象target 阅读全文
posted @ 2017-08-08 19:02 HJiang 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。 CocoaPods 的安装和使用介绍 安装 如果你的 gem 太老,可能也 阅读全文
posted @ 2017-07-24 12:24 HJiang 阅读(403) 评论(0) 推荐(0) 编辑
摘要: /** * 监听键盘的弹出和隐藏 */ - (void)keyboardWillChangeFrame:(NSNotification *)note { // 键盘最终的frame CGRect keyboardF = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; // 动画时间 ... 阅读全文
posted @ 2017-05-30 23:25 HJiang 阅读(537) 评论(0) 推荐(0) 编辑
摘要: layoutSubviews layoutIfNeeded setNeedsLayout setNeedsDisplay drawRect sizeThatFits sizeToFit 大概常用的上面几个 , 具体的应该还有别的。 layoutSubviews 这个方法,默认没有做任何事情,需要子类 阅读全文
posted @ 2017-03-23 23:20 HJiang 阅读(1250) 评论(0) 推荐(0) 编辑
摘要: 方式1.(如果圆角视图比较少并且不复杂可以考虑使用) 方式2.(性能可能高点,通过画圆的方式获取image,然后再赋给视图) 阅读全文
posted @ 2017-03-22 22:42 HJiang 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 前提: 1.iOS系统>=8 2.cell中的每个控件布局固定,不含一些动态的模块,但是可以含有label的变化 可以采用tableView自动计算cell的高度 首先设置tableView的属性: cell xib设置: PS:label的底部约束需要紧跟cell的低部约束 阅读全文
posted @ 2016-12-27 23:18 HJiang 阅读(266) 评论(0) 推荐(0) 编辑
摘要: #import @interface VerticalButton : UIButton @end #import "VerticalButton.h" @implementation VerticalButton - (void)setup { self.titleLabel.textAlignment = NSTextAlignmentCenter; } - (ins... 阅读全文
posted @ 2016-10-23 22:18 HJiang 阅读(1392) 评论(0) 推荐(0) 编辑
摘要: #define ScreenW [UIScreen mainScreen].bounds.size.width #define ScreenH [UIScreen mainScreen].bounds.size.height 1 // 数据 2 NSArray *images = @[@"publish-boke", @"publish-weixin", @"publis... 阅读全文
posted @ 2016-10-23 22:15 HJiang 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 控制台输出 如图是在我启动一个 Xcode 7 + iOS 9 的 App 之后,控制台的输出。 这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是【为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NS... 阅读全文
posted @ 2016-03-25 08:54 HJiang 阅读(1457) 评论(0) 推荐(0) 编辑
摘要: NSData转字符串[NSString alloc] initWithData: encoding:]模型转字典attInfo.keyValues字典转模型ZTEOutputInfo *outputInfo = [ZTEOutputInfo objectWithKeyValues:responseO... 阅读全文
posted @ 2015-12-28 18:53 HJiang 阅读(1173) 评论(0) 推荐(0) 编辑
摘要: 单例模式://static id _instace;////+ (id)allocWithZone:(struct _NSZone *)zone//{// static dispatch_once_t onceToken;// dispatch_once(&onceToken, ^{//... 阅读全文
posted @ 2015-12-28 14:49 HJiang 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 什么是库?库是程序代码的集合,是共享程序代码的一种方式根据源代码的公开情况,库可以分为2种类型开源库公开源代码,能看到具体实现比如SDWebImage、AFNetworking闭源库不公开源代码,是经过编译后的二进制文件,看不到具体实现主要分为:静态库、动态库静态库和动态库的存在形式静态库:.a 和... 阅读全文
posted @ 2015-03-23 11:42 HJiang 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 新建新闻和微信模拟项目,从新闻界面中跳转至微信实例如果app允许被外界跳转需要配置URL 项目->target->info->URL Types->URL Schemes进行配置新闻:/* URL:统一资源定位符 http://www.baidu.com tel://110 file:///appl... 阅读全文
posted @ 2015-03-20 22:15 HJiang 阅读(603) 评论(0) 推荐(0) 编辑
摘要: iOS 8定位补充iOS 8定位需要修改2个地方1.info.plist文件中添加NSLocationAlwaysUsageDescription:描述信息从iOS 8开始,用户定位分两种情况总是使用用户位置:NSLocationAlwaysUsageDescription使用应用时定位:NSLoc... 阅读全文
posted @ 2015-03-17 17:56 HJiang 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 系统自带导航/** 系统自带导航 当前位置导航到目的地 1.根据目的地进行地理编码 2.把当前位置和目的地封装成MKMapItem对象 3.使用 MKMapItem openMapsWithItems: launchOptions: 方法进行导航 */@interface ViewControlle... 阅读全文
posted @ 2015-03-17 17:16 HJiang 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 添加自定义大头针,使用系统大头针View#import "ViewController.h"#import #import "MyAnnotation.h"@interface ViewController () // 显示地图的View@property (weak, nonatomic) IBO... 阅读全文
posted @ 2015-03-17 16:16 HJiang 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 大头针的基本操作添加一个大头针- (void)addAnnotation:(id )annotation;添加多个大头针- (void)addAnnotations:(NSArray *)annotations;移除一个大头针- (void)removeAnnotation:(id )annotat... 阅读全文
posted @ 2015-03-17 14:53 HJiang 阅读(249) 评论(0) 推荐(0) 编辑
摘要: MapKit框架使用前提导入框架导入主头文件#import MapKit框架使用须知MapKit框架中所有数据类型的前缀都是MKMapKit有一个比较重要的UI控件 :MKMapView,专门用于地图显示跟踪显示用户的位置设置MKMapView的userTrackingMode属性可以跟踪显示用户的... 阅读全文
posted @ 2015-03-17 11:43 HJiang 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 在移动互联网时代,移动app能解决用户的很多生活琐事,比如导航:去任意陌生的地方周边:找餐馆、找酒店、找银行、找电影院在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发Map Kit :用于地图展示Core Location :用于地理定位2个热门专业... 阅读全文
posted @ 2015-03-17 11:26 HJiang 阅读(384) 评论(0) 推荐(0) 编辑
摘要: UISearchBar——方便用户搜索信息在移动应用程序的世界里,用户对信息获取的速度要求非常高!iOS用户希望他们需要的信息能够迅速地,直观地展现在他们面前因为UITableView的上下滚动能让用户迅速,自然地浏览大量信息,许多基于UIKit的应用都使用了UITableView来组织信息。但如果... 阅读全文
posted @ 2015-02-08 21:29 HJiang 阅读(291) 评论(0) 推荐(0) 编辑
摘要: NSPredicate——谓词(is)作用:判断条件表达式的求值返回真或假的过程使用步骤:1. 定义NSPredicate对象并指定条件2. 调用谓词的evaluateWithObject方法判断指定条件是否满足示例:NSPredicate *predicate = [NSPredicate pre... 阅读全文
posted @ 2015-02-08 21:21 HJiang 阅读(334) 评论(0) 推荐(0) 编辑
摘要: iOS的设备及分辨率(iPhone竖屏/iPad横屏) 设备分辨率横宽比iPhone 3GS、iPod Touch第三代320 * 4802 : 3iPhone 4、iPod Touch第四代640 * 9602 : 3iPhone 5640 * 11369 : 16iPad 1、iPad 2、iP... 阅读全文
posted @ 2015-02-08 21:12 HJiang 阅读(385) 评论(0) 推荐(0) 编辑
摘要: UIImageView——图像视图作用:专门用来显示图片的控件1. 设置图像[self.imageView setImage:[UIImage imageNamed:@"abc.png"]];2. 设置显示模式设置图片居中显示,并且保持原来宽高比imageView.contentMode = UIV... 阅读全文
posted @ 2015-02-08 21:06 HJiang 阅读(260) 评论(0) 推荐(0) 编辑
摘要: UILabel常用属性1——实例化和设置文字// 实例化UILabel并指定其边框UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 210.0, 320.0, 40.0)];// 设置label显示的文本[label set... 阅读全文
posted @ 2015-02-08 20:59 HJiang 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 可以通过代码的方式创建UIButton通用实例化对象方法:UIButton *button = [[UIButton alloc] initWithFrame:rect];快速实例化对象方法:UIButton *button = [UIButton buttonWithType:UIButtonTy... 阅读全文
posted @ 2015-02-08 20:56 HJiang 阅读(366) 评论(0) 推荐(0) 编辑
摘要: UIView的常用属性UIView的常用属性1——父子视图属性1. superview 获得自己的父控件对象2. subviews 获得自己的所有子控件对象注意:一个视图最多只能有一个父视图一个视图可以有多个子视图UIView的常用属性2——位置尺寸属性1. frame 控件... 阅读全文
posted @ 2015-02-08 20:48 HJiang 阅读(229) 评论(0) 推荐(0) 编辑
摘要: UIView——视图在屏幕上,能看得见、摸得着的东西都是UIView,比如按钮、图片、文字等,所有控件最终都继承自UIView每一个UIView都是一个容器,可以容纳其他UIView。其中容器视图被称为父视图,而被包含的视图或者控件被成为子视图或者子控件视图对应的文件通常是storyboard或者x... 阅读全文
posted @ 2015-02-08 20:40 HJiang 阅读(206) 评论(0) 推荐(0) 编辑
摘要: ScrollView的作用1.用于显示超出应用程序窗口大小的内容2.允许用户通过拖动手势滚动查看视图中的内容3.允许用户通过捏合手势缩放视图中的内容ScrollView的常见属性CGSize contentSize:设置UIScrollView的滚动范围CGPoint contentOffset:U... 阅读全文
posted @ 2015-02-08 20:35 HJiang 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 数据选择控件UIDatePicker——方便用户选择日期作用:方便用户的日期选择,并保证日期格式正确1. 初始化// 初始化日期控件,不用设置宽高,因为它的宽高是固定的UIDatePicker *datePicker = [[UIDatePicker alloc]init];2. 常用设... 阅读全文
posted @ 2015-02-08 20:23 HJiang 阅读(304) 评论(0) 推荐(0) 编辑
摘要: iOS沙盒机制(1)•iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被称为沙盒•所有的非代码文件都要保存在此,例如图像、图标、声音、映像、属性列表、文本文件等–1) 每个应用程序都有自己的存储空间–2) 应用程序不能翻过自己的围墙去访问别的存储空间中的内容–3)... 阅读全文
posted @ 2015-02-08 17:03 HJiang 阅读(341) 评论(0) 推荐(0) 编辑