//userDefaults 用来数据持久性存储
//数据持久性存储的方法:NSFileHandle、Plist、归档、userDefaults、数据库、CoreData
//userDefaults 存储数据的位置 当前工程的沙盒路径下存放
//沙盒路径:当前工程在当前设备中存放的根路径
//userDefaults存放数据是以Plist文件的形式存放的
//plist文件是系统自动生成的 无需手动创建
//Plist文件存放的数据只有7种:NSString、NSArray、NSDictionary、NSNumber、NSDate、NSData、Boolean
//PList文件中存放的数据类型无论是可变的还是不可变的 读取出来都是不可变的
//userDefaults 要比 PList 文件高级很多 userDefaults的Root类型是字典 添加新的数据 和字典插入键值对的原理相同 不会将Plist文件中原有的内容覆盖 而普通的plist文件 多次向同一个plist文件写入内容 最后一次写入的内容会将原有的内容 全部覆盖 ------ 所以在真正开发中UserDefaults的通用性更强一些
//<1>创建userDefaults的对象
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
//<2>假设userDefaults所在的plist文件中存在一个以test为键的键值对
//手动将键值对写入到磁盘 因为第二次运行该程序 读取数据会直接到磁盘上读取 而不是userDefaults所在的plist文件中读取
[userDefaults synchronize];
[userDefaults synchronize];
//打印沙盒路径
//时间戳类
NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
//将时间转化成字符串
NSString * date_str = [formatter stringFromDate:date];
============================滚动视图============================================
//<1>创建滚动视图对象
UIScrollView * scroll = [[UIScrollView alloc]initWithFrame:CGRectMake(10, 80, 300, 350)];
//<2>为滚动视图添加背景颜色
scroll.backgroundColor = [UIColor cyanColor];
//<3>为滚动视图添加内容视图
//内容视图的大小至少要比滚动视图的大小大1个像素
UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 600, 500)];
imageView.image = [UIImage imageNamed:@"1092.jpg"];
//滚动视图的内容视图 就是滚动视图的子视图
[scroll addSubview:imageView];
//<4>滚动视图和导航控制器共同使用 xcode5.0以后编译器会自动设置滚动视图的显示位置
self.automaticallyAdjustsScrollViewInsets = NO;
//<5>设置滚动视图内容视图的大小
scroll.contentSize = imageView.frame.size;
//<6>设置禁止边框回弹效果
scroll.bounces = NO;
//<7>隐藏横纵滚动条
scroll.showsHorizontalScrollIndicator = NO;
scroll.showsVerticalScrollIndicator = NO;
//<8>设置内容视图的偏移位置
scroll.contentOffset = CGPointMake(100, 100);
//<9>设置内容视图的缩放效果
//缩放效果是协议中的方法
//设置当前视图控制器对象为scrollView的代理
scroll.delegate = self;
//<10>设置视图的缩放倍数
scroll.minimumZoomScale = 1.0;
scroll.maximumZoomScale = 5.0;
//<11>设置滚动视图的分页效果
scroll.pagingEnabled = YES;
//<1>视图缩放方法
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
//<2>滚动视图拖拽开始
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
//<3>滚动视图拖拽结束
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
//<4>减速停止的方法 -------- 【重要】
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
NSLog(@"%@",NSStringFromSelector(_cmd)); // 打印这自己的方法名
//获取滚动视图内容视图的最终偏移位置
NSLog(@"%@",NSStringFromCGPoint(scrollView.contentOffset)); //把坐标转换成字符串
//滚动视图 UIScrollView
//滚动视图上不能直接添加文字和图片 滚动视图的作用就是通过拖拽的方式将比它大的视图完完整整的显示给用户
============================分页控件============================================
//<1>创建分页控件的对象
UIPageControl *page = [[UIPageControl alloc]initWithFrame:CGRectMake(50, SCROLLHEIGHT, 200, 30)];
//<2>设置分页控件的总页数
page.numberOfPages = 5;
//<3>设置分页控件当前的页码号(分页控件一次只能跳转一页)
page.currentPage = 0;
//<4>设置分页控件的背景颜色
page.backgroundColor = [UIColor clearColor];
//<5>为分页控件添加点击事件
[page addTarget:self action:@selector(pageChanged:) forControlEvents:UIControlEventValueChanged];
//<7>设置选中的点的颜色
page.currentPageIndicatorTintColor = [UIColor magentaColor];