zoukankan      html  css  js  c++  java
  • xcode UIImageView创建、图片加载、 音频文件播放、 延迟调用

    代码创建

    /**

    创建UIImageView

    */ 

    UIImageView * imageView=[[UIImageView alloc]init];        

    /**

    设置尺寸位置

    */

        imageView.frame=(CGRect){{50,50},{230,230}};

    /**

    创建图片

    */

        UIImage * image=[[UIImage alloc]init];

    /**

    获取图片

    */

        image=[UIImage imageNamed:@"图片名称"];

        

    /**

    把图片给容器

    */

        imageView.image=image;

    /**

     ->带有scale单词的 <图片有可能被拉伸>

     UIViewContentModeScaleToFill

    //将图片拉伸填充整个imageView

     //图片显示的尺寸跟imageView的尺寸是一样的

    ->带有scale单词的,并且带有aspect单词的:可能会被拉伸,但是会保持图片原来的宽高比

    UIViewContentModeScaleAspectFit

    //保证刚好能看到图片的全部

    UIViewContentModeScaleAspectFill

     //拉伸至图片的宽度或者高度跟imageView一样

    ->不带有scale的单词<图片绝对不会被拉伸>,保持图片原来的宽度和高度

    */

        imageView.contentMode=UIViewContentModeScaleAspectFit;

    /**

    超出部分被剪裁

    */

        imageView.clipsToBounds=YES;

        [self.view addSubview:imageView];

    图片加载

     - 没有缓存

              NSString *file = [[NSBundle mainBundle] pathForResource:@"图片名" ofType:@"图片扩展名"];

              UIImage *image = [UIImage imageWithContentOfFile:file];    

              *只要方法名带有file的,都是传全路径

              使用场合:图片比较大,使用频率比较低

              建议:不需要缓存的图片不能放在Images.xcassets中

    - 有缓存

              UIImage *image =[UIImage imageNamed:@"图片名"];

              使用场合:图片比较小、使用频率比较高

              建议:把需要缓存的图片放到Images.xcassets

    音频文件播放

               // 创建一个音频文件的URL(URL就是文件的路径对象)

                NSURL *url = [[NSBundle mainBundle] URLForResource:@"音频文件名" withExtention:@“音频文件扩展名”];

                -- 另一写法

                NSURL *url = [[NSBundle mainBundle] URLForResource:@"音频文件名.音频文件扩展名" withExtention:nil];

                // 创建播放器

                self.palyer = [AVPlayer playerWithURL:url];

                [self.player play];

    延迟调用方法 

                [objc performSelector:@selector(stand:) withObject:@"123" afterDelay:10];

                // 10秒后调用objc的stand:方法,并且传递@“123”参数

                // withObject可以是任意对象

           

  • 相关阅读:
    VS2017使用inet_ntoa()产生错误的解决方法
    ET框架:如何运行ET-Demo
    ProtoBuf入门
    AssetBundle入门
    UML图写法
    Visual Studio小技巧-引用项目外部的类
    UnityECS(一)UnityECS学习资料
    关于如何利用MySQL Workbench导入Excel表格
    SublimeText3插件安装(未完更新)
    Unity中Animator的2DSprite动画控制与使用
  • 原文地址:https://www.cnblogs.com/fleas/p/5565098.html
Copyright © 2011-2022 走看看