zoukankan      html  css  js  c++  java
  • IOS 5新增API介绍及使用

    本文原始地址:IOS 5新增API介绍及使用

    1.UIStepper 


    UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(200, 100, 0, 0)];
        [stepper sizeToFit];
        stepper.value = 0;
        stepper.minimumValue = 0;
        stepper.maximumValue = 1;
        stepper.stepValue = 0.1;
        [stepper addTarget:self action:@selector(stepperAction:) forControlEvents:UIControlEventValueChanged];
        [self.view addSubview:stepper];
        [stepper release];
    - (void)stepperAction:(UIStepper *)stepper
    {
        NSLog(@"stepper value:%f",stepper.value);
    }


    2.UIAlertView样式

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello" message:@"Hello World" delegate:nil cancelButtonTitle:nil otherButtonTitles:nil, nil];
    //第一张图    alert.alertViewStyle = UIAlertViewStylePlainTextInput;
    //第二张图    alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
    //第三张图    alert.alertViewStyle = UIAlertViewStyleSecureTextInput;
        [alert show];
        [alert release];
    //返回指定索引值的TextField ,这个API仅存在于IOS5.0以上
    - (UITextField *)textFieldAtIndex:(NSInteger)textFieldIndex
    {
        return textField;
    }
    3 UIScreen调节亮度
    UIScreen *mainScreen = [UIScreen mainScreen];
        //设置屏幕亮度为50%
        mainScreen.brightness = 0.5;
        //默认是NO。如果YES,可以通过wantsSoftwareDimming属性来声明此应用需要将屏幕亮度调整到比中等亮度偏暗的级别。(需要注意的是,打开wantsSoftwareDimming可能会对性能有影响,因为这种昏暗是通过软件来实现的。)
        mainScreen.wantsSoftwareDimming = YES;
    4 UIReferenceLibraryViewController显示词语解释

    NSString *key = @"hello";
        //判断任何已经安装的字典里有key的定义
        if ([UIReferenceLibraryViewController dictionaryHasDefinitionForTerm:key])
        {
            UIReferenceLibraryViewController *controller = [[UIReferenceLibraryViewController alloc] initWithTerm:key];
            //只是切换方式
            [controller setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
            [self presentModalViewController:controller animated:YES];
            [controller release];
        }
    5.UISplitViewController delegate,显示隐藏时delegate
    //这个delegate方法是被发送到你的delegate询问在特定方向下你想要左侧做什么,因此它把自己传递给你,还有左侧,它会问在这个方向你想要我对左侧做什么。要隐藏就返回YES,要保留在屏幕上就返回NO
    - (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
    {
        return YES;
    }
    6.从xib文件中获取cell
    //为tableview注册一个nib
        UINib *nib = [UINib nibWithNibName:@"MyCell" bundle:nil];
        [self.tableView registerNib:nib forCellReuseIdentifier:@"identifier"];
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        //重用前面注册过的cell
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"identifier"];
    //other code
    return cell;
    }
    7 UIImage,image动画

    8 UIAppearance应用于全部属性
    //程序中所有slider改为红色
        [[UISlider appearance] setMinimumTrackTintColor:[UIColor redColor]];
    9 UIPageViewController
    控件为我们提供了一种像翻书效果的一种控件。我们可以通过使用UIPageViewController控件,来完成类似图书一样的翻页控制方式。

    10 UIDocument

    11 管理资源库
    ALAssetsLibrary提供了我们对iOS设备中的相片、视频的访问。

    可以通过valueForProperty获取到图片的信息,包括类型, Location , 时长,方向,日期,格式 , URL地址。
    self.view.backgroundColor = [UIColor whiteColor];
        self.assetsLibrary = [[ALAssetsLibrary alloc] init];
        dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
        dispatch_async(dispatchQueue, ^(void)
        {
            // 遍历所有相册
            [self.assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll
                                              usingBlock:^(ALAssetsGroup *group, BOOL *stop)
            {
                  // 遍历每个相册中的项ALAsset
                  [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index,BOOL *stop)
                   {
                      
                      __block BOOL foundThePhoto = NO;
                      if (foundThePhoto)
                      {
                          *stop = YES;
                      }
                      // ALAsset的类型
                      NSString *assetType = [result valueForProperty:ALAssetPropertyType];
                       //如果是照片的话
                       //ALAssetTypeVideo
                       //ALAssetTypeUnknown
                      if ([assetType isEqualToString:ALAssetTypePhoto])
                      {
                          foundThePhoto = YES;
                          *stop = YES;
                          //封装了ALAsset,包含了一个资源文件中的很多属性。(可以说是ALAsset的不同的表示方式,本质上都表示同一个资源文件)
                          ALAssetRepresentation *assetRepresentation = [result defaultRepresentation];
                          CGFloat imageScale = [assetRepresentation scale];
                          UIImageOrientation imageOrientation = (UIImageOrientation)[assetRepresentation orientation];
                          dispatch_async(dispatch_get_main_queue(), ^(void)
                          {
                              CGImageRef imageReference = [assetRepresentation fullResolutionImage];
                              // 对找到的图片进行操作
                              UIImage *image = [[UIImage alloc] initWithCGImage:imageReference scale:imageScale orientation:imageOrientation];
                              if (image != nil)
                              {
                                  //呈现
                                  self.imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
                                  self.imageView.contentMode = UIViewContentModeScaleAspectFit;
                                  self.imageView.image = image;
                                  [self.view addSubview:self.imageView];
                              } else
                              {
                                  NSLog(@"Failed to create the image.");
                              }
                          });
                      }
                  }];
              }
            failureBlock:^(NSError *error)
            {
                //读取失败的处理
            }];
        });

    12 GLKit

    13 Core Image

    14 Core Data

    参考:http://blog.163.com/const_yixinyiyi/blog/static/180088172201301522234553/
  • 相关阅读:
    msyql多个or,and,
    mysql中 where in 用法详解
    history.back(-1)和history.go(-1)的区别
    经典 mysql 28道题
    企业案例(二):增量恢复案例
    企业案例(一):由于mysql sleep线程过多小故障
    mysql数据库恢复
    binlog介绍
    mysql 数据库备份
    docker入门与实践
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3072036.html
Copyright © 2011-2022 走看看