- 博客(98)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 iOS入门-46高级动画
概述几种3D效果的动画,这里成为高级动画。高级动画的实现原理是利用OPENGL来完成的,具体的矩阵变化是图形学内容涉及到高数,这里不做展开说明,只是使用。示例要做的准备工作引入第三方动画库HMGLTransitions(用CocoaPods引入依赖,具体操作请参看前面的文章)添加三个核心库:CoreGraphics.framework、OpenGLES.framework、Quartz...
2020-04-27 14:02:57
507
原创 iOS入门-45导航栏控制动画
概述视图控制器之间切换的时候默认是有动画的,如果我们想要定制一下,那么就用到导航栏控制动画了。实例演示各种视图控制器切换动画,由于种类较多,这里就 不截图了,可以一一尝试一下。关于如何配置UIWindow,参看前面的文章。实例代码AppDelegate.h#import <UIKit/UIKit.h>@interface AppDelegate : UIResponde...
2020-04-27 14:02:43
584
原创 iOS入门-44UIView动画基础
概述iOS中动画的实现方式简单的展示平移、缩放、透明度动画示例给一张图片添加缩放、平移、透明度动画。很简单看注释#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoa...
2020-04-27 14:02:20
349
原创 iOS入门-43SDWebImage图片加载库
概述重点AFNetworking加载网络数据SDWebImage加载网络图片UITableview列表使用实际操作过程中注意设置导航栏、根视图控制器http协议如何配置使其能被使用CocoaPosd配置第三方库示例配置http可以使用iOS 9.0由于强制使用https , 所以之前使用的 http的连接 的应用如果不做特殊配制就都不可以运行了,为了解决这个问题要在工...
2020-04-27 14:02:08
500
原创 iOS入门-42AVPlayerViewController视频播放
概述使用AVPlayerViewController进行视频播放。示例配置http可以使用iOS 9.0由于强制使用https , 所以之前使用的 http的连接 的应用如果不做特殊配制就都不可以运行了,为了解决这个问题要在工程的info.plit中添加如下配制。示例代码ViewController.h#import <UIKit/UIKit.h>//iOS官方播放器...
2020-04-27 14:01:57
3710
原创 iOS入门-41AVAudioPlayer音频播放
概述接下来是音频和视频的播放,这里只是简单的展示播放的基本操作。关于复杂的操作还涉及很多的音视频专门的知识,例如播放器的“生命周期”、播放和屏幕状态的配合、播放器是否可以兼顾到绝大多数的音视频文件格式等等。本文的内容:使用iOS自带的AVAudioPlayer播放音频(本地的mp3文件)。音频音量控制音频播放进度展示示例将mp3文件放到工程根目录中。仔细看实例代码注释,很简单...
2020-04-27 14:01:45
2309
原创 iOS入门-40AFNetworking
概述虽然iOS中提供了自带的NSURLSession等一系列进行网络操作的库,但是仍然不够简单,于是就有了各种第三方网络库,其中较火的AFNetworking。主要是AFNetworking的基本用法,展示了一个基本的get请求。关于如何使用CocoaPods进行第三方库的引入,请参看前面的文章。注意iOS9之后想要使用http就要进行相应配置返回数据头重content_type由于可...
2020-04-27 14:01:28
1342
原创 iOS入门-39NSOperation(线程、多线程)
概述在iOS中除了可以使用NSThread来实现在自线程中执行任务,还可以使用封装好的NSOperation。涉及的主要的类:NSOperationQueueNSInvocationOperationNSInvocation示例例子中只是简单的创建任务,并添加到任务队列中。任务中完成一些简单的操作(循环操作)。ViewController.h#import <UIKit...
2020-04-27 14:01:04
159
原创 iOS入门-38NSThread
概述多线程概念OC中线程的使用线程锁线程:是操作系统能够进行运算调度的最小单位。多线程简单的说就是为了各个任务执行期间不要相互打扰。无论是iOS还是Android还是H5涉及到与用户交互的系统中(GUI),UI线程中进行视图的刷新工作,UI线程中不能进行其他耗时操作(耗时操作导致屏幕卡死)。线程锁:为了让多个线程在操作同一个数据源的时候,数据源的数据能够保证同一时间点只能被一个线...
2020-04-27 14:00:52
177
原创 iOS入门-37NSURLSession网络数据请求
概述iOS中网络数据请求。主要涉及的类NSURLRequestNSURLSessionNSURLSessionDataTaskNSURLSessionConfiguration本文只是一个简单的展示get和post请求的示例,将基本的操作包含其中。如果想要深入了解如何配置网络请求框架还需要了解网络部分的相关知识,iOS中都有相应的api。配置http可以使用iOS 9.0由...
2020-04-27 14:00:40
337
原创 iOS入门-36Sqlite轻型数据库
概述Sqlite轻型数据库。建表增、删、改、查iOS中Sqlite封装库FMDB创建,基本使用示例如何通过CocoaPods引入第三方库请参看“CocoaPods安装并使用”。示例代码ViewController.h#import <UIKit/UIKit.h>#import "FMDatabase.h"@interface ViewController :...
2020-04-27 13:59:55
204
原创 iOS入门-35CocoaPods安装并使用
一 . 概述1.1 先看几个概念CocoaCocoa TouchCocoaPodsPodfilegemCocoapods 工作原理和源码分析CocoaCocoa:开发MAC OS X系统中应用程序的开发框架),包含Foundation和AppKit框架。是Mac OS X上五大开发框架之一,其它四个是Carbon、POSIX、X11和Java。使用Cocoa编程环境开发的...
2020-04-27 13:59:35
1445
原创 iOS入门-34Json解析02
概述JSON数据,手动解析并展示在列表中示例先看图工程目录结构示例代码User.h#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN//用户数据模型@interface User : NSObject{ //声明成员变量 //名称 NSString* _name; //...
2020-04-27 13:59:24
173
原创 iOS入门-33Json解析01
概述JSON是什么?JavaScript Object Notation:一种轻量级的数据交换格式。JSON语法规则JSON语法是JS对象表示语法的子集数据在键值对中数据由逗号分隔花括号保存对象(OC中为字典)方括号保存数组JSON数据解析JSON数据定义JSON数据的解析方法JOSN数据解析实战示例解析一个本地的json文件目录结构示例代码ViewCo...
2020-04-27 13:59:14
285
2
原创 iOS入门-32UITableView进阶
概述主要是代理中的协议函数,用来完成UITableView的构建。示例先看图示例代码AppDelegate.h#import <UIKit/UIKit.h>@interface AppDelegate : UIResponder <UIApplicationDelegate>@property(retain,nonatomic) UIWindow* w...
2020-04-27 13:59:01
189
原创 iOS入门-31UITableView基础
概述UITableView:用来实现列表的系统View(类似于Android中的ListView,Flutter中的ListView)由于是系统自带View那么功能肯定是有限的,但是从使用的过程中可以了解实现原理和大概的代码风格自带功能有哪些(重要的是那些要实现的代理协议)基础篇为介绍cell高度每个section的headerview和footerview的高度cell的创...
2020-04-27 13:58:48
212
原创 iOS入门-30多界面传值
概述多界面传值的分栏控制器、导航控制器、视图控制器嵌套使用视图控制器之间传值(正向传值,反向传值)协议函数代理示例先看图示例代码仔细看代码注释。关于如何配置UIWindow,参看iOS的UI-04-UIWindowAppDelegate.h#import <UIKit/UIKit.h>@interface AppDelegate : UIRespond...
2020-04-27 13:58:34
201
原创 iOS入门-29本地数据存储NSUserDefaults
概述NSUserDefaults一个轻型数据存储工具类,磁盘存储的工具类,存储一些简单的数据,例如一些app中用到的标示,账号等(类似于Android中的SharePreferences)。具体的数据存在沙盒文件中存储数据类型必须是可字符串化的示例代码很简单,设置了存取两个过程,仔细看log。ViewController.m#import "ViewController.h"...
2020-04-27 13:58:05
198
原创 iOS入门-28UIPickerView
概述UIPickerView选择控件可以用来实现例如日期、地方名称等示例仔细看注释,很好理解先看图示例代码ViewController.h#import <UIKit/UIKit.h>//UIPickerViewDelegate:普通协议代理,处理视图选取等普通事件协议功能//UIPickerViewDataSource:数据协议代理,处理获取数据时的代理协议...
2020-04-27 13:57:52
228
原创 iOS入门-27图片墙
概述做一个图片墙demo,分两个页面一个图片聚合页一个图片展示页。涉及的知识点屏幕尺寸获取导航栏高度获取控件尺寸,位置计算视图控制器之间传值(注意三种传值方式,代码注释的很清楚了)示例先看图示例代码关于如何配置UIWindow进行适配,参看iOS的UI-04-UIWindow先看一下工程目录结构AppDelegate.h#import <UIKit/UIKi...
2020-04-27 13:57:35
385
原创 iOS入门-26分栏控制器进阶
概述重点屏幕底部最多显示5个tab,且最后一个显示为moretab点击之后回调事件点击more,进入选取页面。可以选取第五个要显示的视图控制器,也可以点击edit进入编辑模式。编辑过程中各个回调事件示例先看图示例代码关于如何配置UIWindow进行适配,参看iOS的UI-04-UIWindow几个视图控制器类中没做处理,这里就不粘贴出来了。AppDelegate.h#...
2020-04-27 13:56:57
289
原创 iOS入门-25分栏控制器基础
概述分栏控制器可以实现现在绝大多数app首页中底部的tab;重点前面的导航栏控制器管理的视图控制器以层级的形式(压栈操作)存在,而分栏控制器管理的视图控制器以平行层级存在;分栏控制器中属性和前面导航栏控制器中属性大多数相同示例示例图底部三个按钮对应上面三个视图控制器,点击可以切换。关于如何配置UIWindow进行适配,参看iOS的UI-04-UIWindow示例代码:由于...
2020-04-27 13:56:31
335
原创 iOS入门-24导航栏进阶
概述演示一下在不同的设置情况下导航栏的状态导航控制器控制视图控制器切换示例导航栏透明度属性,导航栏底色和文字颜色;导航栏视图控制器管理视图控制器(页面跳转);两个示例代码都放在一起了,第一个示例放在VCRoot.m视图控制器中,仔细看注释第一个示例:导航栏透明度属性,导航栏底色和文字颜色看图如下VCRoot中设置self.navigationController.navi...
2020-04-27 13:56:17
267
原创 iOS入门-23导航栏基础
概述导航栏控制器和视图控制器关系导航栏UI设置涉及到添加自己的UIWindow的知识参考前面的iOS的UI-04-UIWindow导航栏控制器和视图控制器关系一个视图管理器对应一个页面(类似Android中Activity;Flutter中的route)导航栏控制器管理视图控制器(一个个视图控制器做压栈操作,类似于Android中Activity的标准启动模式)导航栏分三部分:...
2020-04-27 13:56:06
238
原创 iOS入门-22事件响应链
概述无论是在iOS还是在Android等以触屏为输入硬件的系统中,事件响应链都是很重要的,且设计的思想都是一样的。一次触碰屏幕事件从外层向内层传递,从内层向外层响应。(隧道式传递,冒泡式响应)iOS中事件传递AppDelegate -> UIWindow -> UIViewController -> 父UIView ->子UIView -> …示例我们自己新...
2020-04-27 13:54:49
184
原创 iOS入门-21自动动布局子视图
概述要确保子视图在父视图中的相对位置保持不变第二种方法:自动布局子视图示例先看图放大之前放大之后我们看到父视图的四个角和中间位置的子视图,相对于父视图的位置没有发生改变。示例代码如下ViewController.h#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ ...
2020-04-27 13:54:27
222
原创 iOS入门-20手动布局子视图
概述要确保子视图在父视图中的相对位置保持不变第一种方法:手动布局子视图子视图,子控件,子view等这些概念不用纠结,都是指的一个东西,意会即可。示例:先看两张截图父视图放大之后,要确保四个角上的子视图仍然在四个角上。示例代码如下:仔细看注释很简单SuperView.h文件#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN...
2020-04-27 11:36:00
264
原创 iOS入门-19手势基础四
概述苹果的sdk帮我们封装好了几个用于区分各个手势的类。拖拽距离,速度的监听(UIPanGestureRecognizer)滑动方向监听(UISwipeGestureRecognizer)长按监听(UILongPressGestureRecognizer)示例给一张图片添加拖动、滑动、长按手势监听仔细看代码注释#import "ViewController.h"@inter...
2020-04-27 11:35:40
249
原创 iOS入门-18手势基础三
概述捏合手势(UIPinchGestureRecognizer)旋转手势(UIRotationGestureRecognizer)示例通过展示一张图片,并通过捏合手势实现缩放,通过旋转手势实现旋转。模拟器中按住option+鼠标左键实现两个手指触控屏幕效果。先看图示例代码ViewController.h#import <UIKit/UIKit.h>//代理...
2020-04-27 11:35:30
203
原创 iOS入门-17手势基础二
概述给一个UIView添加点击事件单击双击UIView动画 (这里先做简单了解,后面有详细的文章)主要涉及的类UITapGestureRecognizer示例以一张图片为例子,实现放大缩小。单击移动位置并变小双击移动位置并变大先看图示例代码如下ViewController.m#import "ViewController.h"@interface ViewC...
2020-04-27 11:35:18
225
原创 iOS入门-16手势基础一
概述在何种无实体键盘的操作设备上都是通过在屏幕上的操作来完成各种想要的效果,包括iOS设备和Android设备以及其他各种操作系统的设备。所以理解并用好手势以及各种手势事件是十分十分重要的。手势的分类单个手指点击双击长按拖拽两个手指捏合(两个手指之间距离变化)旋转 (两个手指连接成的直线在屏幕中旋转)接下来将手势部分拆分成4篇文章。下面是第一篇主要的点手指从接触...
2020-04-27 11:34:48
710
原创 iOS入门-15UIScrollView
概述iOS的UIScrollView:既可以横向滚动又可以竖向滚动;可以连续的滚动又可以设置成以页为单位的翻页滚动;重点:UIScrollView的属性设置,达到不同的目的效果;滚动状态,滚动参数的监听;UIScrollView内容滚动的指定位置;UIImage,UIImageView的使用;图片资源在工程目录中的放置;图片资源在工程目录中的放置注意:日常正式的开...
2020-04-27 11:34:35
422
原创 iOS入门-14一个简单的登陆页面
概述为了总结前面的控件现在做一个简单的登陆页面重点各个控件的使用登陆逻辑判断示例代码仔细看里面的注释,很好理解ViewController.h#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ //声明控件 UILabel *_lbUserName; ...
2020-04-27 11:34:23
578
原创 iOS入门-13UITextField输入框
概述UITextField输入框的基本使用iOS中键盘的操作都由UITextField来操作(和Android略有不同)重点:输入框输输入内容前后回调时机;键盘的控制(键盘显示类型;键盘的显示和隐藏等);输入内容的获取;示例代码ViewController.h#import <UIKit/UIKit.h>//注意UITextFieldDelegate代理@...
2020-04-27 11:33:53
289
原创 iOS入门-12Dialog提示框
概述警告对话框(UIAlertController)等待提示view(UIActivityIndicatorView)仔细看两种对话框的的代码,从中我们可以看出其各自的生成原理不同,从api涉及的类也可以看出一些。示例代码点击两个button分别弹出两种类型的dialog先看图示例代码ViewController.h#import <UIKit/UIKit.h>...
2020-04-27 11:33:40
1183
原创 iOS入门-11UIStepper和UISegmentControll
概述UIStepper:步进器UISetmentControl:选择器步进器和选择器的创建和使用示例先看图示例代码里面的注释很清楚了,而且很好理解ViewController.m#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (...
2020-04-27 11:33:26
549
原创 iOS入门-10UIProgressView和UISlider
概述重点UIProgressView:进度条,不能手动滑动UISlider:带滑块的进度条,可以手动滑动监听UISlider的滑动来更新UIProgressView的进度示例代码ViewController.h#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ //定义...
2020-04-27 11:32:46
491
原创 iOS入门-09UISwitch
概述重点UISwitch:开关按钮UISwitch的属性和使用示例代码ViewController.h#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ UISwitch *_uiSwitch;//定义一个成员变量}@endViewController.m#im...
2020-04-27 11:32:34
188
原创 iOS入门-08UITImer和View的位移以及缩放
概述重点iOS中定时器的创建和使用;为了演示每隔一段时间进行一次View的位置变化和缩放;示例演示代码ViewController.h#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ //定时器(成员变量) NSTimer *_timerView;}//定时器...
2020-04-27 11:32:20
314
原创 iOS入门-07UIViewController
概述UIViewController作为页面和Android中的Activity以及Flutter中的Route意义相同,每一个UIViewController相当于一个页面。本文重点UIViewController创建UIViewController生命周期UIViewController跳转示例UIViewController创建在日常开发中我们能够操作的整个应用程序的启动...
2020-04-27 11:32:06
598
GXOVRPlayer.rar
2019-05-16
游戏接完支付,登录第三方sdk之后报空指针异常但是找不到错误
2016-05-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人