在iOS开发中,按钮图标可以放三种大小,常见的是22x22,44x44,66x66,一般来说我们可以在PS中做好图片后,再分别导出三种大小的图标,但是每次要修改图片的大小,操作比较繁琐.这里博主推荐一种使用命令行来快速对图片的大小进行转换,比如我们用PS做好了图以后,先导出66x66大小的图片,命名为img@3x.png,好,下面我们用命令行来生成一倍和二倍的图片. 这里用到了imagemagick这个库,可以使用homebrew来快速安装: brew install imagemagick 安…
1.NSThread 2.NSOperationQueue 3.GCD NSThread: 创建方式主要有两种: [NSThread detachNewThreadSelector:@selector(myThreadMainMethod:) toTarget:self withObject:nil];和NSThread* myThread = [[NSThread alloc] initWithTarget:self selector:@selector(myThreadMainMethod:…
-(void)play { //第一种图片动画模式 头尾方式 //头尾方式 [UIView beginAnimations:nil context:nil];//动画开始 [UIView setAnimationDuration:10];//设置动画播放时长 /*内部写图片处理*/ [UIView commitAnimations];//提交动画 //第二种方式:图片动画结束处理模式 [UIView animateWithDuration:10 animations:^{ /*图片处理操作*/…
这些api包含的绘制操作都在一个图形环境中进行绘制.一个图形环境包含绘制参数和所有的绘制需要的设备特定信息,包括屏幕图形环境.offscreen 位图环境和PDF图形环境,用来在屏幕表面.一个位图或一个pdf文件中进行图形和图像绘制.在屏幕图形环境中进行的绘制限定于在一个UIView类或其子类的实例中绘制,并直接在屏幕显示,在offscreen位图或PDF图形环境中进行的绘制不直接在屏幕上显示. 一.UIKIT API UIKIT是一组Objective-C API,为线条图形.Quartz图像…
/** 1隐藏导航栏-简单- */    self.navigationController.hidesBarsOnSwipe = YES; /** 2隐藏导航栏-不随tableView滑动消失效果 *///- (void)scrollViewDidScroll:(UIScrollView *)scrollView {//    //scrollView已经有拖拽手势,直接拿到scrollView的拖拽手势//    UIPanGestureRecognizer *pan = scrollVie…
最简单的方式 typedef enum{ num1 = 0, num2 = 1, num3 = 2 }num; 同时我们还可以使用NS_ENUM的方式定义枚举 typedef NS_ENUM (NSInteger,num){ num1 = 0, num2= 1, num3= 2 }; 当牵扯到位移相关操作的时候,我们还可以使用NS_OPTIONS typedef NS_OPTIONS (NSInteger,num){ num1 = 0, num2 = 1 << 0, num3 = 1 <…
#import <Foundation/Foundation.h> @interface DataModel : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, copy) NSString *address; @end #import "DataModel.h" @implementation DataModel @end #import <UIKit/UIKit.…
IOS三种归档(NSKeyArchieve)的总结 归档是一种IOS中常用来存储文件的一种方法,在面向对象的语言中,归档也就实际上可以将一切对象存储在文件中,以下是IOS开发中常见的三种文件归档方式,分别是简单归档.data归档.自定义归档.现分别总结如下: 1.简单归档: 简单归档是指把简单的字符串.数组等对象进行归档.用到的方法是archiveRootObject,语句为    [NSKeyedArchiver archiveRootObject:array toFile:path]; 其中…
         在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信.在IOS应用不断的出现三种模式来实现这种通信: 1.委托delegation: 2.通知中心Notification Center: 3.键值观察key value observing,KVO 上面的三种模式是什么? 三种模式都是一个对象传递事件给另外一个对象,并且不要他们有耦合. 三种模式都是对象来通知某个事件发生了的方法,或者更准确的说,是允许其他的对象收到这种…
一.引言 平时连接数据库的时候首先要加载jdbc驱动,这一步骤其实有三种方式,他们的区别?优劣? 二.快速了解三种加载方式 Class.forName(“com.mysql.jdbc.Driver”); DriverManager.registerDriver(new com.mysql.jdbc.Driver()) System.setProperty(“jdbc.drivers”,”com.mysql.jdbc.Driver”); 三.代码实例 1.Class.forName(“com.my…