![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
武功秘籍 - 移动开发(iOS/Android)
文章平均质量分 83
武功秘籍 - 移动开发(iOS/Android)
returningprodigal
大家好,我的主攻方向是嵌入式开发,很高兴能够同大家一起探讨相关问题.
展开
-
iOS UI学习之路07 - 触摸事件/手势识别
触摸事件iOS中事件可以分为三大类:触摸事件、加速器事件(摇晃手机)、远程控制事件(线控)在iOS中只有集成了UIResponder的对象才能接受并处理事件,我们称之为"响应者对象"UIApplication、UIViewController、UIView、UIWindow都是集成自UIResponder,因此他们都是响应者对象,都能够接受并处理事件事件传递与事件响应触摸事原创 2017-06-01 18:13:37 · 636 阅读 · 0 评论 -
iOS UI学习之路06 - AutoLayout/SizeClass
iOS布局技术发展设备发展:iPhone 4/4s iPad iPhone5/5c/5s iPhone6/Plus布局发展:frame Autoresizing AutoLayout SizeClass自动布局的核心就是设置正确的约束(constraints)常用单词Leading edges 前缘trailing edge原创 2017-06-01 18:12:05 · 489 阅读 · 0 评论 -
iOS UI学习之路05 - 滚动视图
UIScrollViewUIScrollView基本概念以及特性UIScrollView是一个视图,可以滚动,可以显示很多内容,比如常见的照片浏览,可以上下滚动的新闻列表通过UIScrollView可以实现放大或者缩小UIScrollView的父类是UIView,子类有:UITextView、UITableView、UICollectionViewUIScrollView创建同原创 2017-06-01 18:10:37 · 560 阅读 · 0 评论 -
iOS UI学习之路04 - 视图控制器
UIViewController视图控制器重要知识视图控制器通常用来管理一个视图,其View属性指向它所管理的视图,这个视图通常被称为根视图视图控制器并不能显示,具体显示的只是它所管理的视图作用:创建管理视图;管理视图上显示的数据;设备方向变化,调整视图大小以适应屏幕;负责视图和模型之间的数据及请求的传递子类:UINavigationController(导航控制器),UITa原创 2017-06-01 18:08:42 · 694 阅读 · 0 评论 -
iOS UI学习之路03 - 基础控件
重要知识点UIView子类:UIWindow, UILable, UIProgressView, UIImageView, UIAlertView, UIActionSheet, UIControlUIControl子类:UIButton, UITextField, UISlider, UISwitchUILable(文本标签)创建因为是UIView的子类,创建的方式和UIVi原创 2017-06-01 18:06:30 · 539 阅读 · 0 评论 -
iOS UI学习之路02 - UIWindow、UIView详解
UIKit框架结构构建和管理你的用户界面捕获触摸和基于移动的事件呈现文字和web内容创建定制用户界面元素UIView(视图)框架的结构图Window和View的关系UIWindow重要知识UIWindow的主要作用:a.作为UIWindow的最顶层容器,包含应用显示所有的UIView;b.传递触摸消息和键盘事件给UIView;UIWindow的创建原创 2017-06-01 11:27:33 · 555 阅读 · 0 评论 -
iOS UI学习之路01 - iOS平台
iOS系统框架Core OS核⼼心层: 包含核心部分、文件系统、网络基础、安全特性、能量管理和一些设备驱动, 还有一些系统级别的APICore Services核⼼心服务层: 提供核心服务,例如字符串处理函数、集合管理、网络管理、URL处理工具、联系⼈人维护、偏好设置等Media媒体层: 该层框架和服务依赖Core Services层,向Cocoa Touch层提供画图和多媒体服务原创 2017-06-01 11:23:56 · 731 阅读 · 0 评论 -
OC学习之路(10) - 设计模式
(一)类之间的通讯方式(数据传递)代理设计模式一对一一个类只能委托一个对象去完成一件事情KVO(监听)一对多一个类可以监听多个类单例模式公共所有类共用这个对象通知中心一对多一个对象可以通知多个对象(二)单原创 2017-05-23 18:07:26 · 352 阅读 · 0 评论 -
OC学习之路(9) - 谓词/KVC/KVO
(一)谓词1. 重要知识Ø Cocoa框架中的NSPredicate用于数组元素查询,原理和用法类似于SQL中的where,作用相当于数据库的过滤Ø 对数组、集合操作,也可对可变数组、可变集合操作,但要覆盖原来的数组、集合。2. 创建NSPredicate *predicate = [NSPredicate predicateWithFormat:@”name ==原创 2017-05-23 18:06:40 · 378 阅读 · 0 评论 -
OC学习之路(8) - 内存管理(MRC和ARC)
(一)内存管理Ø OC中创建的对象保存在内存的堆区,堆区内存的开辟和释放是要进行管理的,OC有两种管理内存的方式:手动管理(MRC)和自动管理(ARC)Ø RetainCount:引用计数Ø 手动管理(MRC):所谓手动管理就是由编写者自己去负责开辟空间和释放内存空间,管理内存的关键字:alloc, retain, copy, mutableCopy, release, autorel原创 2017-05-23 18:05:31 · 531 阅读 · 0 评论 -
OC学习之路(7) - 类目/延展/协议
(一)类目(分类)1. 重要知识Ø 类目(Category)是用于对原有类的方法的扩展,这些类包括系统类和自定义类。Ø 如果扩展的方法名跟原有类的方法名一样,则会覆盖原有的方法Ø 类目可以对类的方法进行扩展,但不能扩展实例变量、属性。如果非要扩展,可以定义get/set方法,但其本质不是扩展了属性,只是扩展的是方法,而这个方法可以有点语法调用。给人的感觉是扩展了属性。例如原创 2017-05-23 18:04:11 · 513 阅读 · 0 评论 -
OC学习之路(6) - Foundation框架
(一)框架:编程语⾔言中的框架指的是集成的一些⽅方法类库,按照一定的结构组织起来提供给开发⼈人员使⽤用,从⽽而降低开发难度提⾼高开发效率。 Cocoa框架: Cocoa本身是一个框架的集合,它包含了众多⼦子框架,其中最重要的要数 “Foundation”和“UIKit”Foundation框架: 是用于开发Mac OS / iOS程序的基本类库,包含字符串、数组、集合、字典、日期...原创 2017-05-23 18:03:09 · 571 阅读 · 0 评论 -
OC学习之路(5) - 属性权限关键字
@public(公开) @protected(继承、保护型) @private(私有) Ø 类权限关键字只能用于修饰属性(实例变量),不能修饰方法。关键字当前类子类其他类@public允许✓✓✓@protected允许✓原创 2017-05-23 18:01:59 · 404 阅读 · 0 评论 -
OC学习之路(4) - 类之间的关系
类之间的关系:继承关系、关联关系(类似关系表)、依赖关系、聚合关系关联关系:一个类的属性包含了另一个类的引用,有两种类型(单向关联、双向关联)原创 2017-05-23 18:00:39 · 329 阅读 · 0 评论 -
OC学习之路(3) - 面向对象的三大特性
l 封装l 继承l 多态封装性:每个对象都把自己包含的信息(属性)和功能(方法)封闭起来,其他对象就没法访问和使用这个对象的属性和方法,这些方法和属性只能通过本类或者本类的实例来访问、使用。继承性:一个类继承另外一个类后,这个类就可以使用它继承的类的所有非私有的属性和方法,通过继承创建的新类成为“子类”或者“派生类”。北京城的类称为“基类”、“父类”和“超类”。...原创 2017-05-23 17:58:54 · 416 阅读 · 0 评论 -
OC学习之路(2) - 面向对象
实例化对象:Computer *computer = [[Computer alloc]init];alloc:创建实例对象的方法,开辟内存空间保存对象的数据init:初始化方法,完成对象的初始化,比如对属性赋初值 OC中的方法:- (NSString *)setName:(NSString *)namewithAge:(int)age;“-”:方法的类型,”-” 实例方法原创 2017-05-23 17:55:02 · 368 阅读 · 0 评论 -
OC学习之路(1) - X-code使用
OC除了包含C所有的关键字外,还有本身特有的关键字,为了跟其他语言的关键字分开,这些关键字通常用@符号开头,例如:@interface、@implementation、@end、@protocal、@property、id、self、super…OC中可以使用C中所有的数据结构,也包含了自身的特有的类型。例如:NSInteger、NSUInteger、NSString、NSArray、NS原创 2017-05-23 17:43:39 · 756 阅读 · 0 评论 -
iOS学习之路09 - 多媒体(音频、视频、相机、相册)
UIImagePickerController属性imagePicker指的是UIImagePickerController所属类型图片库/*UIImagePickerControllerSourceTypePhotoLibrary, 图片库UIImagePickerControllerSourceTypeCamera, 相机UIImagePickerControlle原创 2017-05-23 17:10:27 · 890 阅读 · 0 评论 -
iOS学习之路08 - 地图API使用
MapKitMKMapView类MKMapView是显示地图的视图,只需要将MKMapView对象添加到self.view中即可实现地图显示常用属性mapType:地图视图类型MKMapTypeStandard:交通地图MKMapTypeSateLLite:卫星地图MKMapTypeHybrid:交通和卫星地图MKMapTypeSateLLiteHyov原创 2017-05-23 17:09:36 · 490 阅读 · 0 评论 -
iOS学习之路07 - 通讯协议、XMPP及时通讯、Socket
通讯协议、XMPP及时通讯、SocketSocket:只能传小型文件或小型数据,不能传输图片XMPP协议:xml格式,规范socket传输数据原创 2017-05-23 17:08:50 · 376 阅读 · 0 评论 -
iOS学习之路06 - 网络编程
官方网络框架 NSURLConnection重要概念ShowAPI:web server提供网站NSURLSessionTask类结构NSURLSessionDataTaskget方式创建NSURLRequest(URL请求)对象NSURL *url = [NSURL URLWithString:strUrl];NSURLRe原创 2017-05-23 17:07:52 · 362 阅读 · 0 评论 -
iOS学习之路05 - 多线程编程
基本概念主线程一个iOS程序运行以后,默认会开启一个线程,这个线程就被称为主线程或(UI线程)。主线程的主要作用是显示\刷新UI界面,处理UI事件(点击,滚动,拖拽等)。iOS中的多线程Pthread:基本不使用了NSThread:每个Thread对象对应一个线程,使用较少,线程的生命周期由我们自己管理GCD:基于C语言的框架,可以充分利用多核,苹果推荐使用,生命周原创 2017-05-23 17:07:09 · 377 阅读 · 0 评论 -
iOS学习之路04 - 数据存储
文件管理iOS沙盒机制iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。每个应用程序都有自己的存储空间应用程序不能翻过自己的围墙去访问别的存储空间的内容应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行通过这张图只原创 2017-05-23 17:05:38 · 635 阅读 · 0 评论 -
iOS学习之路03 - Quart2 2D绘图
Quart2 2D绘图Graphics Context 上下文、画布、绘图环境Quart2中默认的坐标系统是:原点(0,0)子啊左下角,沿着x轴从左到右坐标值逐渐增大,沿着Y轴从下到上坐标值逐渐增大UIGraphicsGetCurrentContext()可以获取当前上下文,类型为CGContextRef坐标系的转换CGContextRotateCTM(CGCont原创 2017-05-23 17:04:40 · 810 阅读 · 0 评论 -
iOS学习之路02 - CoreAnimation
CoreAnimation 核心动画CALayer概念UIView是对CALayer的封装,然UIView封装的API在有些情况下并不能满足我们的需求,比如:①阴影、圆角、边框,②3D变换,④遮罩,⑤非线性动画为什么iOS要基于UIView和CALayer提供两个平行的层级关系?原因在于要做职责分离,这样也能避免很多重复代码,在iOS和MacOS两个平台上,事件和用原创 2017-05-23 17:04:02 · 348 阅读 · 0 评论 -
iOS学习之路01 - Block
Block创建的三种形式没有参数,没有返回值的blockvoid (^myBlock1))() = ^{};myBlock1();有参数,没有返回值的blockvoid (^myBlock2)(int a) = ^(int a){};myBlock2(); ^(int a){}; 也可写作 ^void(int a){};有参数,有返回原创 2017-05-23 17:03:05 · 365 阅读 · 0 评论 -
iOS第三方插件与App Demo地址总览
一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/jdg/MBProgressHUD3:XML/HTML解析地址:https://github.com/topfunky/hpple4:有文字输入时,能根据键盘是否弹出来调整自身显示内容原创 2016-07-08 10:05:32 · 1264 阅读 · 0 评论 -
iOS常见枚举类型
NSLineBreakMode的区别typedef enum UILineBreakModeWordWrap = 0, UILineBreakModeCharacterWrap, UILineBreakModeClip, UILineBreakModeHeadTruncation, UILineBreakModeTailTruncation原创 2016-07-06 17:23:06 · 959 阅读 · 0 评论 -
UIViewContentMode,iOS图片排版
UIViewContentMode,ios图片排版 typedef enum { UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. remainder is transpare原创 2016-07-06 17:21:04 · 372 阅读 · 0 评论 -
iOS7到iOS8 一个通用的横竖屏幕切换总结
以下内容是在IOS7和IOS8系统验证得到的结论1.首先,在iOS8之前的[UIScreenmainScreen].bounds和 [UIScreen mainScreen].applicationFrame两者的区别在于:1)[UIScreenmainScreen].bounds:指固定的屏幕尺寸(宽高固定)2)[UIScreenmainScreen].applicati转载 2016-07-05 13:48:25 · 5054 阅读 · 0 评论 -
UIView的setNeedsLayout,layoutIfNeeded,layoutSubviews 方法之间的关系解释
layoutSubviews总结ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)se转载 2016-07-05 09:25:33 · 492 阅读 · 0 评论 -
Autolayout在UITableView中的坑
iOS发展到现在,iOS5的占有率已经很低了(估计多数还在使用iOS5系统的用户活跃度也不高吧),因此兼容最低版本iOS6.0也不会损失太多用户。同时,下一代大屏iPhone已经发售了,Autolayout绝对是其中一个重要的界面兼容手段。为了能尽快做好适配好新设备的工作,我相信学习Autolayout这门技术也是必不可少。我作为一个使用了Autolayout大约一周左右的初学者,就在这里记录一下转载 2016-07-05 09:08:46 · 755 阅读 · 0 评论 -
info.plist文件常用属性含义
Localization native development region : 与本地化设置有关,为默认的开发语言Executable file:程序安装包的名称Bundle identifier:软件唯一的标识,是根据公司的标识与项目名称自动生成的,在上传和测试的时候会用到InfoDictionary version:版本信息Icon file:原创 2016-07-04 17:45:45 · 571 阅读 · 0 评论 -
NSDate格式化字符
yyyyMMddHHmmssEEEE年月日时分秒星期“M”与”MM”的区别:M – 7月 MM – 07月,其他符号类似原创 2016-07-04 17:44:26 · 436 阅读 · 0 评论 -
UIView结构
原创 2016-07-04 17:36:59 · 355 阅读 · 0 评论 -
UIButton和UILabel的宽与高
UIButton:1、UIButton对于自定义Button需要设置宽度和高度才能显示,2、而系统的Button在系统内部设置了宽度高度所以不需要认再去设置,如果人为改变其大小,显示的imageView大小是没有变化,只是Button的大小发生了改变3、代码如下: UIButton*button = [UIButtonbuttonWithType:UIButtonTypeCo原创 2016-07-04 17:31:55 · 1208 阅读 · 0 评论 -
iOS开发遇到的问题
1. 问题:两个类相互引入/包含,导致IDE报错,无法进入编译过程环境: A.h #import “B.h” B.h #import “A.h”解: B类中.h文件用@class A;声明A是一个类 B类.m文件用#import “A.h”原创 2016-07-04 17:15:04 · 325 阅读 · 0 评论