Day05
SQLite中的查询与排序
按查询结果排序:[[email protected][NSSortDescriptor sortDescriptorWithKey:@"age"ascending:yes]];
设置查询条件:
NSPredicate *pre=nil;
1.比较运算符 > < >= <= == !=
pre=[NSPridicate [email protected]“age>40”];
2. 范围运算符 IN BETWEEN
pre=[[email protected]“age BETWEEN{30,40}”];
pre=[NSPredicatepredicateWithFromat:@"name IN{‘aaaaa‘,‘bcd’}"];
3.字符串处理 BEGINSWITH ENDWITH CONTANS c:不区分大小写 d:不区分发音
pre=[[email protected]“name BEGINSEITH[cd]‘a‘”];
pre=[[email protected]“name CONTAINS[cd]” ‘a‘];
4.通配符 LIKE ?代表单个字符 *代表多个字符
pre=[[email protected]“name LIKR[cd] ‘*m‘”];
最终别忘记了添加[requestsetPredicate:pre];
得到相册中的照片:
step1:创建UIImagePickerController的实例
UIImagePickerController*pic=[[UIImagePickerController alloc]init];
step2:遵守协议 并把自己设置为代理
<UINavigationControllerDelegate,UIImagePickerControllerDelegate>
pic.delegate=self;
step3:调用方法
[picsetSourceType:UIImagePickerControllerSourceTypeSavePhotosAlbum];
UIImagePickerControllerSourceTypePhotoLibrary,//直接取library
UIImagePickerControllerSourceTypeCamera,//打开照相机
UIImagePickerControllerSourceTypeSavedPhotosAlbum//直接进入相册 PhotosAlbum相册 相薄
step4:调用推出新的视图的方法present推出 因为协议中有一个NavigationController的代理
[selfpresentViewController:pic animated:YEScompletion:nil]
step5:在下面的方法中实现
-(void)imagePickerController:(UIImagePickerController *)pickerdidFinishPicingMedia WithInfo:(NSDicationary *)info;
创建一个UIImage的实例通过下面的方法得到所有的照片
UIImage*image=[info objectForKeyedSubscript:UIImagePickerControllerOriginalImage];
ScrollView中常用的设置
不出现白色区域:bounces=no;
showHorizontalScrollIndicator=no;设置水平没有滚动 Horizontal水平的
showVerticalScollIndicator=no;设置垂直没有滚动 Vertical垂直
在scrollView中如何实现删除scrollView中的照片 改变其他照片的位置
可以遍历拿到所有的scrollView中的所有照片 一般使用ImageView
在循环中实现改变坐标的位置
step6:在方法中可以根据NavigationController的一些属性 得到跳转的是哪个界面
- (void)navigationController:(UINavigationController*)navigationController willShowViewController:(UIViewController*)viewController animated:(BOOL)animated{}
NavigationController.viewController.count=1;跳转到的是哪个界面
如何实现将照片保存到手机内存中的相册中
step1:得到保存的照片
a.创建画布
UIGraphicsBeginImageContext(imageView.frame.size)
b.把imageView的背景渲染到画布中
[imageView.layrranderInContext:UIGraphicsCurrentContest()];
c.把画布中的照片取出来
UIImage*image=UIGraphicsGetImageFromCurrentImageContext();
d.结束渲染
UIGraphicsEndImageContext();
step2:把照片保存到系统相册中 Selector 不要瞎写点击到方法内部 系统已经帮你写好
UIImageWriteToSavePhotosAlbum(image,self,@selector(image:didFinishSavingWithError:contextInfo:),nil);
实现方法
-(void)image:(UIImage *)image didFinishSavingWithError:(NSError *)errorcontextInfo:(void *)contextInfo{
UIAlertView *alertView =[[UIAlertViewalloc]initWithTitle:@"提示"message:@"图片保存完成" delegate:selfcancelButtonTitle:@"确定"otherButtonTitles:nil, nil];
[alertView show];
}
如何实现在一个view中插入一个背景
step1:先创建一个ImageView的实例 给一张图片
step2:
方法一:
[self.view insertSubView:imageviewatIndex:0] 插入到视图的最下层
方法二:
[self.view addSubView:imageView];添加到视图当中 ImageView会覆盖原来的视图
把某个子视图带到前面显示
[self.viewbringSubViewToFront:imageView];
判断点击的位置是否在某个视图上
方法一:判断该次点击的位置是否在视图的frame中
if(CGRectContainsPoint(self.imageView.frame,p));
方法二:判断两个视图的frame是否有耦合
if(CGRectContainsRect(ImageView.frame,imageView.frame))
视图位置改变时重新定位视图
方法一:转变原来的frame
CGRect oldFram =imageView.frame;
CGRect newFram=[(要转换的视图的) convertRect:oldFrame toView:self.view];
方法二:转变原来的中心点坐标
CGPoint oldCenter=self.imageView.center
CGPoint newCenter=[self.viewconverPoint:oldCenter toView:self.enitView];