IOS的一些小技巧

摘要:
1.播放短音系统SoundIDshake_sound_male_id=0;NSString*thesoundFilePath=[[NSBundlemainBundle]pathForResource:@“ReceivedMessage”类型:@“caf”];//音乐文件路径CFURRefthesoundURL=(CFURRef)CFBridgingRetain([NSURLf
1.播放短声音   
    SystemSoundID shake_sound_male_id = 0;
    NSString *thesoundFilePath = [[NSBundle mainBundle] pathForResource:@"ReceivedMessage" ofType:@"caf"]; //音乐文件路径
    CFURLRef thesoundURL = (CFURLRef)CFBridgingRetain([NSURL fileURLWithPath:thesoundFilePath]);
    AudioServicesCreateSystemSoundID(thesoundURL, &shake_sound_male_id);
    AudioServicesPlaySystemSound(shake_sound_male_id);
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);//播放震动
2.播放系统声音
    AudioServicesPlaySystemSound(1004); //更换播放系统的声音 id值可以百度查询
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);//震动
3.在主线程中刷新UI
       dispatch_async(dispatch_get_main_queue(), ^{
           _lbName=@"Name";
        });
4.函数延时执行
//这样实现延时调用是错误的,playSound是不会被调用的 可以在主线程调用
dispatch_async(dispatch_get_global_queue(2, 0), ^{
        [self performSelector:@selector(playSound) withObject:nil afterDelay:0.5f];//NSTimer 也需要注意这点
 });
5.一个函数短时间多次触发,希望函数里摸个代码段只执行一次
//这个是抄的 原地址http://www.cocoachina.com/bbs/read.php?tid=193276
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(playSound) object:nil];
[self performSelector:@selector(playSound) withObject:nil afterDelay:0.5f];

    以后要多记录一下咯,很短以为能记住,过段时间又忘了,又要打开以前的项目来看,自己记忆力真的不行,以后就多

记录下。

免责声明:文章转载自《IOS的一些小技巧》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用 Air 热编译 Gin 项目如何解决扩展AscII乱码噩梦下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

WinPE无法识别NVMe SSD硬盘,如何重装系统

)WinPE无法识别NVMeSSD硬盘,如何重装系统现在NVMeSSD硬盘越来越流行了,而市面上流行的WinPE系统,比如什么大白菜、老毛桃、微PE根本无法识别这种硬盘,这个时候想要重装系统应该怎么办呢?其实,不能识别的原因,归根结底,还是因为这些WinPE缺少NVMeSSD硬盘的驱动。看下图,intelRST文件夹中要有这些文件。...

如何在jenkins上新建一个项目及其简单配置

单击[新建]进入选择页面,您可以在此页面上配置项目(包括拉取源代码、修改连续构建时间以及在打包和部署之前修改配置文件)3。在General中,您可以设置要构建的版本,如下图5所示。在源代码管理模块中,您可以设置源代码地址(我们公司常用的Git)6。如果是自动构建,您可以将自动构建时间(即构建频率)设置为7。以下是构建中的一些设置。您可以使用shell修改源代...

关于WINFORM中输入法的设置

关于WINFORM(转移到)John Suna的专栏开发中输入方法的设置,它碰巧遇到了这种问题。网络真的很好:)这是文本集。感谢作者的辛勤工作给您带来的便利。在WINFORM中,我们经常遇到这样的问题:文本输入框中的输入法被禁用或总是更改为全宽输入法。查阅相关数据后,总结如下:(1)Control.ImeMode属性:获取或设置控件的输入方法编辑器模式。此模...

HTML5表单之input 类型- Date Pickers(日期选择器)

HTML5有几种新的输入类型用于选择日期和时间:日期:选择日期、月份、年份月份:选择月份、年份星期:选择星期和年份时间:选择时间datetime local:选择时间、日期、月份和年份datetime:选择时间、,年示例1:日期示例2:月示例3:周示例4:时间˂inputtype=“time”name=“tart_time”value=“”//示例5:dat...

页面加载时自动执行(加载)js的几种方法

Js调用onload方法window.onload=function(){func1();func2();func3();}二、JQ方法1.整个页面的document全部加载完成以后执行。不幸的这种方式不仅要求页面的DOMtree全部加载完成,而且要求所有的外部图片和资源全部加载完成。更不幸的是,如果外部资源,例如图片需要很长时间来加载,那么这个js方法执行...

HTML中canvas的大小调整

今天用到canvas元素,发现它的大小不是像普通dom元素一样,直接设置css样式可以改变的,它会由自己原本的大小伸缩。例如,1.如果直接在canvas元素中添加style='300px;height:300px',这会导致伸缩,如图2.换种方式在css样式表中加入样式设置宽高产生的效果也是一样的。...