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


    Day05

    SQLite中的查询与排序

    按查询结果排序:[requestsetSortDescriptors@[NSSortDescriptor sortDescriptorWithKey:@"age"ascending:yes]];

    设置查询条件:

    NSPredicate  *pre=nil;

    1.比较运算符 > <  >=  <= == !=

    pre=[NSPridicate predicateWithFormat@“age>40”];

    2. 范围运算符 IN  BETWEEN

    pre=[NSPredicatepredicateWithFromat@“age BETWEEN{30,40}”];

    pre=[NSPredicatepredicateWithFromat:@"name IN{'aaaaa',‘bcd’}"];

    3.字符串处理 BEGINSWITH ENDWITH CONTANS  c:不区分大小写  d:不区分发音

    pre=[NSPredicatepredicateWithFormat@“name BEGINSEITH[cd]'a'”];

    pre=[NSPredicatepredicateWithFormat@“name CONTAINS[cd]” 'a'];

    4.通配符 LIKE ?代表单个字符  *代表多个字符

    pre=[NSPredicatepredicateWithForm@“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];

     

  • 相关阅读:
    优先级管理器 IPriorityManager -- ESBasic 可复用的.NET类库(14)
    对象获取器IObjectRetriever -- ESBasic 可复用的.NET类库(17)
    定时刷新缓存管理器 IRefreshableCacheManager --ESBasic 可复用的.NET类库(16)
    TopN排行榜容器 TopNOrderedContainer -- ESBasic 可复用的.NET类库(20)
    回调定时器ICallbackTimer --ESBasic 可复用的.NET类库(07)
    Linux kernel data types, alignment, compat_ioctl 数据类型,对齐问题和compat_ioctl
    ubnutu开启daytime服务
    从长春到深圳“一个人的旅行”第二篇
    多客户模式

  • 原文地址:https://www.cnblogs.com/katydid/p/4352311.html
Copyright © 2020-2023  润新知