iOS之SQLite中的查询与排序 访问手机相册 向手机相册中存图

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];

 

时间: 2024-08-07 21:19:24

iOS之SQLite中的查询与排序 访问手机相册 向手机相册中存图的相关文章

mysql中条件查询加排序和索引的关系

跟一个朋友,不错公司的主管交流时,对于mysql中条件查询和排序时 与索引的关系 mysql> explain select * from article where title='希望光伏企业挺过2个月' o rder by id desc\\\\\\\\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: article type: index pos

oracle SQL语句练习MERGE、模糊查询、排序、

Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language,DML)用于进行数据的检索和更新操作.数据检索是数据库应用中使用频率最高的操作类型,因此数据检索的效率对数据库的整体性能影响显著.数据更新包括数据的插入.修改和删除等操作,数据更新操作具有一定的风险性,在其执行过程中DBMS必须保证数据的一致性,以确保数据有效.SELECT.INSERT.DELET

项目一:第十三天 1、菜单数据管理 2、权限数据管理 3、角色数据管理 4、用户数据管理 5、在realm中动态查询用户权限,角色 6、Shiro中整合ehcache缓存权限数据

1 课程计划 菜单数据管理 权限数据管理 角色数据管理 用户数据管理 在realm中动态查询用户权限,角色 Shiro中整合ehcache缓存权限数据         2 菜单数据添加 2.1 使用combotree父菜单项数据     1. 页面:menu_add.jsp 2. 修改组件样式:easyui-combotree,修改url  树型表格treeGrid跟下来数combotree要求数据格式基本一致. Combotree通过text属性展示文本.   3. 使用treegrid组件的

在ASP.NET MVC中使用Boostrap实现产品的展示、查询、排序、分页

在产品展示中,通常涉及产品的展示方式.查询.排序.分页,本篇就在ASP.NET MVC下,使用Boostrap来实现. 源码放在了GitHub: https://github.com/darrenji/ProductsSearchSortPage 先上效果图: 最上面是搜索和排序,每次点击搜索条件.排序,或者删除搜索条件都会触发异步加载. 中间部分为产品展示,提供了列表和格子这2种显示方式. 最下方为分页. 能实现的功能包括: ○ 点击某一个搜索条件,该搜索条件被选中,选中项以标签的形式显示到"

《Entity Framework 6 Recipes》中文翻译系列 (16) -----第三章 查询之左连接和在TPH中通过派生类排序

翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-10应用左连接 问题 你想使用左外连接来合并两个实体的属性. 解决方案 假设你有如图3-11所示的模型. 图3-11 一个包含Product和TopSelling的模型 畅销产品有一个与之关联的TopSelling实体.当然,不是所有的产品都是畅销产品.这就是为什么关系为零或者1.当一个产品为畅销产品时,与之关联的topSelling实体包含一个用户评级.你想查找和呈现所有的产品,和与之

Oracle中分页查询语句

Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.Oracle分分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE

LINQ:开始使用 LINQ(五)- LINQ 中的查询语法和方法语法

开始使用 LINQ(五)- LINQ 中的查询语法和方法语法 在表示语言集成查询 (LINQ) 使用 LINQ 性查询语法,文档中的多数查询编写.但是,编译代码时,必须将查询语法转换为方法,这就需要 .NET 公共语言运行时 (CLR).这些方法调用标准查询运算符的名称类似 Where.Select.GroupBy.Join.Max和 Average.可以调用这些方法直接使用方法语法而不是查询语法. 查询语法和方法语法语义相同,但是,许多人员发现查询语法更简单.更易于阅读.某些查询必须表示为方法

[Oracle系列整理01]PL/SQL 基本查询与排序

本课重点:    1.写SELECT语句进行数据库查询    2.进行数学运算    3.处理空值    4.使用别名ALIASES    5.连接列    6.在SQL PLUS中编辑缓冲,修改SQL SCRIPTS    7.ORDER BY进行排序输出.    8.使用WHERE 字段. 一.写SQL 命令:      不区分大小写.      SQL 语句用数字分行,在SQL PLUS中被称为缓冲区.      最后以:或 / 结束语句.      也可以用RUN来执行语句 二.例1:

SQL中=null查询不出结果而is null可以查询结果说明

我们在sql中要查询某列值为null的所有结果集时,查询条件应该这样写select * from 表 where 字段 is null而使用select * from 表 where 字段 = null是查不到正确的结果的.那这是为什么呢?要清楚为什么,就需要了解sql中的三值逻辑了.在SQL中逻辑表达式的可能值包括TRUE.FALSE和UNKNOWN,它们被称之为三值逻辑. 我们知道,在其它的语言中,逻辑表达式只有两种,要么是true,要么就是false.而sql中却存在第三个逻辑表达式UnK