Author Archives: Sian

iOS项目实战之自定义相机

一、基本思路
1、创建一个导航控制器,承载两个控制器:拍照、照片预览;
2、分别创建这两个控制器,由于视图均为静态视图,所以直接用xib创建即可;
3、引用AVFoundation框架,通过媒体与数据流的交互来获取图片;
4、各种封装

二、使用到的几个类及相关说明:
SAImagePickerController:继承导航控制器类,用他来创建一个自定义相机
SACameraCtrl:拍照控制器,即拍照主界面,取景,摄像头切换、闪光灯开关、拍照按钮都在这个界面上展示;
SAPhotoViewCtrl:照片预览控制器,即拍照后的预览界面,查看照片效果、确定使用照片或重拍;
SAPreview:自定义View,拍照取景的那个视图,自定义是为了能够监听处理该视图上的事件,如对焦等。

三、基本界面预览:[……]

继续阅读

iOS摇一摇的使用

一、实现系统自带的motionBegan方法

1
2
3
4
5
6
/// 开始
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);
/// 结束
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);
/// 取消
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);

假如程序不响应此方法,再实现以下方法:

1
2
3
4
- (BOOL)canBecomeFirstResponder
{
    return YES;
}

[……]

继续阅读

如何判断当前iPhone的机型,iPhone代号对应关系

不多说,直接上代码,拿去用即可!!别问我是怎么知道,如果你有这么多手机的话你也可以去测。

1
2
3
4
5
+ (NSString *)deviceString
{
????struct utsname systemInfo;
????uname(&systemInfo);
????NSString *device[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2015/04/07/161807355.html">继续阅读</a></p>

巧妙利用日期格式计算出本周所有日期

1、先解释一下,如题意思为如果今天是星期三,那么我想返回从星期一到星期天的所有日期
2、设计思路:
2.1、通过日期格式得到今天为星期几,将这个“星期几”转换成数字1~7
2.2、通过从0~7循环分别用1-7减去上述数字得到本周每天距离今天的天数差,如今天星期三,那么星期一距离今天-2天,星期二距离今天-1天,星期五距离今天2天
2.3、将天数换算成秒,通过NSDATE的方法得出7天的日期对象,再转换成字符串,搞定!
3、写成NSDATE的分类,直接使用。

代码示例:
NSDate+SA.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//
//? NSDate+SA.h
//? 
//
//? Created by yusian on 15-3-19.
//? Copyright (c) 2015年 Sian. All rights reserved.
//
?
#import <Foundation/Foundation.h>
?
@interface NSDate (SA)
?
// 根据日期获取星期,返回数字(1~7)
+ (NSInteger)weekDayWithDate:(NSDate *)date;
?
// 日期转换成字符串,格式如:2015-03-19 17:36:34
+ (NSString *)formateDate:(NSDate *)date;
?
// 本周日期字符串数组
+ (NSArray *)currentWeekDays;
?
@end

[……]

继续阅读

如何遍历对象的方法、属性及对应值

1
2
3
4
5
6
7
8
9
10
//
//? NSObject+SA.m
// 
//
//? Created by yusian on 15-3-16.
//? Copyright (c) 2015年 Sian. All rights reserved.
//
?
#import "NSObject+SA.h"
#import[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2015/03/16/121812372.html">继续阅读</a></p>