iOS 开发问题小结one

IOS 开发文档:
https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008246

在cell里面添加视频,遇到的问题:
1. 黑屏的问题?
MPMoviePlayerController解决的办法是,因为开始做的时候是在一个view里添加视频,用的是全局变量myPlayer,接着在此基础上在cell里添加视频,就想着用局部变量,所以导致了黑屏,ios5+都需要用全局,还有网友提出如果去掉ARC就可以播放了,由于现在是初始阶段,所以功能没那么多,我就改成了全局变量。

现在完成了,视频能够切换,暂停,停止的功能。下面应该增加快进,后退的功能。
–2015.10.8
追加:
ios播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController。这两者的区别就是MPMoviePlayerViewController里面包含了一个MPMoviePlayerController
不管使用哪个都要导入MediaPlayer.framework。而且MPMoviePlayerViewController 必须 presentMoviePlayerViewControllerAnimated方式添加,否则Done按钮是不会响应通知MPMoviePlayerPlaybackDidFinishNotification事件的。

在iOS开发中,播放视频通常有两种方式,一种是使用MPMoviePlayerController(需要导入MediaPlayer.Framework),还有一种是使用AVPlayer。简而言之就是MPMoviePlayerController使用更简单,功能不如AVPlayer强大,而AVPlayer使用稍微麻烦点,不过功能更加强大。
MediaPlayer的影片是放在UIView 裡面,而AVPlayer是放AVPlayerLayer裡面,AVPlayerLayer是CALayer 的子類別。
使用MediaPlayer前,要記得加入MediaPlayer.framework及#import。
使用AVPlayer前,要記得加入AVFoundation.frameworkk及#import。

AVPlayer的基本使用:
http://www.th7.cn/Program/IOS/201405/197169.shtml

对于UIImagePickerController图片选取器的学习:
1。 定义 类变量:
UIImagePickerController * picker_library_;
2。实现 UIImagePickerControllerDelegate 这个delegate,还需要UINavigationControllerDelegate 这个代理
3。 以模态的方式,显示 图片选取器

picker_library_ = [[UIImagePickerController alloc] init];
picker_library_.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker_library_.allowsEditing = YES;
picker_camera_.allowsImageEditing=YES;
picker_library_.delegate = self;
[self presentModalViewController: picker_library_
animated: YES];

其中,sourceType 指定了 几种 图片的来源:
UIImagePickerControllerSourceTypePhotoLibrary:表示显示所有的照片
UIImagePickerControllerSourceTypeCamera:表示从摄像头选取照片
UIImagePickerControllerSourceTypeSavedPhotosAlbum:表示仅仅从相册中选取照片。
allowEditing和allowsImageEditing 设置为YES,表示 允许用户编辑图片,否则,不允许用户编辑。

对Core Services层的学习:
Core Services层为所有的应用程序提供基础系统服务,可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础。
具体内容在:
http://www.cnblogs.com/linyawen/archive/2013/01/17/2864750.html
IOS <netinet/in.h> 其实质是用于网络编程,网卡和IP地址相关的定义。
AFNetworking可选的依赖SystemConfiguration框架来进行网络可达性监测,依赖MobileCoreServices对上传文件进行MIME类型检测。添加这两个即为core services服务层。

AFNetworking是一个讨人喜欢的网络库,适用于iOS以及Mac OS X. 它构建于在NSURLConnection, NSOperation, 以及其他熟悉的Foundation技术之上. 它拥有良好的架构,丰富的api,以及模块化构建方式。

IOS基础Framework作用:
http://blog.sina.com.cn/s/blog_51a995b70101kypz.html

核心基础框架(CoreFoundation.framework)是基于C语言的接口集,提供iPhone应用的基本数据管理和服务功能。
iOS 线程同步方法总结:
http://www.tekuba.net/program/351/

专门为iOS和OS X开发者提供的深入讨论技术的平台:
https://www.objc.io/issues/

OC的方法定义:
•无参的方法
-(返回值类型)方法名;
•有1个参数的方法
-(返回值类型)方法名:(参数类型)参数名;
•有多个参数的方法
-(返回值类型)方法名:(参数1类型)参数名1 (参数2类型)参数名2 (参数n类型)参数名n …;
注:”:”号也是方法名的一部分
•有多个参数的方法(推荐写法)
-(返回值类型)部分方法名:(参数1类型)参数名1部分方法名2: (参数2类型)参数名2 部分方法名n:(参数n类型)参数名…..n.;

UITabBarController的例子:
http://www.cnblogs.com/wendingding/p/3775488.html
–15.10.15
IOS的UITableView的方法如:如何移动行,删除,增加行。
还有对变量用之前一定要初始化,都则会出错。具体的代码见NavigationControllers.
**JW Media Playe**r 是开源的网页使用的 Flash 播放器。
http://www.open-open.com/lib/view/open1388104840406.html

UIViewController的生命周期

ViewController生命周期会经历初始化、加载视图、销毁视图、生命结束等过程。
1)init方法
初始化ViewController本身。
2)loadView方法
当view需要被展示而它却是nil时,viewController会调用该方法,如果代码构建View的话需要重写此方法。
3)viewDidLoad方法
执行完loadView后继续执行viewDidLoad,loadView时还没有view,而viewDidLoad时view已经创建好了。
4)viewwillAppear
5)viewdidAppear
6)viewwillDisappear
8)viewdidDisappear
9)viewDidUnload方法
当系统内存吃紧的时候会调用该方法。
10)dealloc
释放其他资源或内存

UIbutton触发事件:
UIControlEventTouchDown
单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。
UIControlEventTouchDownRepeat
多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。
UIControlEventTouchDragInside
当一次触摸在控件窗口内拖动时。
UIControlEventTouchDragOutside
当一次触摸在控件窗口之外拖动时。
UIControlEventTouchDragEnter
当一次触摸从控件窗口之外拖动到内部时。
UIControlEventTouchDragExit
当一次触摸从控件窗口内部拖动到外部时。

UIControlEventTouchUpInside
所有在控件之内触摸抬起事件。
UIControlEventTouchUpOutside
所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。
UIControlEventTouchCancel
所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。
UIControlEventTouchChanged
当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。
UIControlEventEditingDidBegin
当文本控件中开始编辑时发送通知。
UIControlEventEditingChanged
当文本控件中的文本被改变时发送通知。
UIControlEventEditingDidEnd
当文本控件中编辑结束时发送通知。
UIControlEventEditingDidOnExit
当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。
UIControlEventAlltouchEvents
通知所有触摸事件。
UIControlEventAllEditingEvents
通知所有关于文本编辑的事件。
UIControlEventAllEvents
通知所有事件。

UISegmentsControl:
http://blog.csdn.net/xingboss3/article/details/7965450

UISlider,如果高度小于一定的值,是无法滑动的,开始我把高度设为0,无法滑动,改成20就可以滑动。

UIWebView,UIActivityIndicatorView.对于前者主要参考工程2015.11里面的UIWeb.这里主要是针对后者:
UIActivityIndicatorView 非常简单 ,就是一个转圈圈的控件
初始化方法
- initWithActivityIndicatorStyle
控制一个Activity Indicator
- startAnimating
- stopAnimating
- isAnimating
hidesWhenStopped 属性
配置Activity Indicator 外观
activityIndicatorViewStyle 属性
color 属性 (iOS 5 引入)

常量三个
typedef enum {
UIActivityIndicatorViewStyleWhiteLarge,
UIActivityIndicatorViewStyleWhite,
UIActivityIndicatorViewStyleGray,
} UIActivityIndicatorViewStyle;

使用方式就是
UIActivityIndicatorView *testActivityIndicator = [UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]];
testActivityIndicator.center = CGPointMake(100.0f, 100.0f);//只能设置中心,不能设置大小
[testActivityIndicator setFrame = CGRectMack(100, 100, 100, 100)];//不建议这样设置,因为UIActivityIndicatorView是不能改变大小只能改变位置,这样设置得到的结果是控件的中心在(100,100)上,而不是和其他控件的frame一样左上角在(100, 100)长为100,宽为100.
[self addSubview:testActivityIndicator];
testActivityIndicator.color = [UIColor redColor]; // 改变圈圈的颜色为红色; iOS5引入
[testActivityIndicator startAnimating]; // 开始旋转
[testActivityIndicator stopAnimating]; // 结束旋转
[testActivityIndicator setHidesWhenStopped:YES]; //当旋转结束时隐藏
还有一个是isAnimating方法,返回一个BOOL值,可以用这个方法来判断控件是否在旋转
initWithActivityIndicatorStyle是UIActivityIndicatorView唯一的初始化方法
属性值是一个枚举变量,只有三个值:
UIActivityIndicatorViewStyleWhite; 白色圆圈
UIActivityIndicatorViewStyleWhiteLarge; 白色圆圈 但是要大些
UIActivityIndicatorViewStyleGray; 灰色圆圈
UIPageControl,一般都是于UIScrollView结合起来使用。详细的参看工程UIPageControl.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值