代码改变世界

随笔分类 -  ios基础

IOS判断摄像头是否可用

2017-03-03 10:09 by xiangjune, 1643 阅读, 收藏,
摘要: //照相机是否可用 -(BOOL)isCameraAvailable { //判断是否支持照相机 NSArray *availableMediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePicke 阅读全文

ios 证书申请和发布流程

2016-12-08 15:17 by xiangjune, 2237 阅读, 收藏,
摘要: 证书是什么? 证书是什么? 上面这个就是我们申请好证书后,下载到本地的.cer文件,也就是常说的开发证书与发布证书的样式。这.cer文件格式的证书是让开发者使用的设备(也就是你的Mac)有真机调试,发布APP的权限。 上面这个就是我们配置好证书后,下载到本地的.mobileprovision文件,也 阅读全文

IOS 支持HTTPS调用(AFNetWorking框架)

2016-12-08 14:01 by xiangjune, 370 阅读, 收藏,
摘要: [operation.securityPolicy setAllowInvalidCertificates:YES]; operation.securityPolicy.validatesDomainName = NO; 阅读全文

IOS 调用系统照相机和相册

2016-09-28 15:35 by xiangjune, 6479 阅读, 收藏,
摘要: /** * 调用照相机 */ - (void)openCamera { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.allowsEdi 阅读全文

ios 获取崩溃日志

2016-04-15 16:59 by xiangjune, 338 阅读, 收藏,
摘要: 虽然有了try catch异常捕获,但是还是存在崩溃异常无法捕获到的。我可以通过下面的方式来获取崩溃日志: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)l 阅读全文

iOS-self.layer.shouldRasterize属性

2016-04-07 10:06 by xiangjune, 314 阅读, 收藏,
摘要: 当shouldRasterize设成true时,layer被渲染成一个bitmap,并缓存起来,等下次使用时不会再重新去渲染了。实现圆角本身就是在做颜色混合(blending),如果每次页面出来时都blending,消耗太大,这时shouldRasterize = yes,下次就只是简单的从渲染引擎 阅读全文

常见的出现内存循环引用的场景有哪些?

2016-03-30 13:56 by xiangjune, 296 阅读, 收藏,
摘要: 定时器(NSTimer):NSTimer经常会被作为某个类的成员变量,而NSTimer初始化时要指定self为target,容易造成循环引用(self->timer->self)。 另外,若timer一直处于validate的状态,则其引用计数将始终大于0,因此在不再使用定时器以后,应该先调用inv 阅读全文

XCODE中的蓝色文件夹与黄色文件夹

2016-03-30 11:36 by xiangjune, 872 阅读, 收藏,
摘要: XCODE中的蓝色文件夹与黄色文件夹 黄色文件夹比较常见 - group , 在XCODE中以文件夹的形式存在,有层次感,但是实际文件在工程下是散乱的,没有层级结构。是XCODE中虚拟目录。 蓝色文件夹一般作为资源文件用 - folder,其他的文件不参与编译。 阅读全文

多线程

2016-02-17 10:10 by xiangjune, 139 阅读, 收藏,
摘要: // NSThread 创建线程 // 1. initWithTarget:selector:object: 创建,需要调用start方法进行启动 NSThread *thread1 = [[NSThread alloc]initWithTarget:self selector:@selector( 阅读全文

NSNotificationCenter

2016-02-15 16:29 by xiangjune, 260 阅读, 收藏,
摘要: - (void)viewDidLoad { [super viewDidLoad]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake(100, 100, 100, 50); bt 阅读全文

UICollectionView

2015-11-18 17:15 by xiangjune, 240 阅读, 收藏,
摘要: -(void)drawContentGridView:(int) yHeight{ // 设置layout UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init]; layout.scrollD... 阅读全文

CALayer 图层

2015-11-17 20:30 by xiangjune, 214 阅读, 收藏,
摘要: // CALayer 图层属性,继承UIView都有该属性,可设置边框宽度、颜色、圆角、阴影等 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 200, 150)]; image... 阅读全文

数据存储之plist、偏好设置

2015-11-17 15:52 by xiangjune, 282 阅读, 收藏,
摘要: // 偏好设置--------------------------------- // 存储基本类型数据 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:@"hello ... 阅读全文

定时器 NSTimer 和 CADisplayLink

2015-11-17 14:16 by xiangjune, 226 阅读, 收藏,
摘要: NSTimer *timer;CADisplayLink *caDisplayLink;int timeCount;- (void)viewDidLoad { [super viewDidLoad]; // NSTimer定时器,创建之后就开始执行。适合后台的数据计算 timer = [NS... 阅读全文

绘图基础、绘图路径

2015-11-16 17:10 by xiangjune, 278 阅读, 收藏,
摘要: - (void)drawRect:(CGRect)rect{ // 获取context CGContextRef context = UIGraphicsGetCurrentContext(); // 画直线 CGContextMoveToPoint(context, 50, 100); ... 阅读全文

UINavagationController页面跳转

2015-11-11 10:19 by xiangjune, 194 阅读, 收藏,
摘要: 1.在AppDelegate中设置第一个加载的页面,根VIEW- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { FirstVi... 阅读全文

音乐播放器 AVAudioPlayer、定时器、UISlider

2015-11-10 16:13 by xiangjune, 387 阅读, 收藏,
摘要: #import #import @interface ViewController : UIViewController@property (strong, nonatomic) AVAudioPlayer *mediaPlayer;@property (strong, nonatomic) UIB... 阅读全文

UIWebView

2015-11-10 11:44 by xiangjune, 215 阅读, 收藏,
摘要: UIWebView *myWebView;UIButton *backBtn;UIButton *goForwordBtn;- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading th... 阅读全文

UITextFiled

2015-11-10 09:31 by xiangjune, 176 阅读, 收藏,
摘要: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. field = [[UITextField alloc]in... 阅读全文

手势 - 单击、长按、拖动等

2015-11-09 17:04 by xiangjune, 396 阅读, 收藏,
摘要: @implementation ViewControllerUILabel *labelView;int startX;int startY;- (void)viewDidLoad { [super viewDidLoad]; startX = 100; startY = 100; la... 阅读全文