最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS通過UISwitch控制搖一搖

 更新時(shí)間:2018年06月25日 14:19:27   作者:iMazy  
這篇文章主要為大家詳細(xì)介紹了iOS通過UISwitch控制搖一搖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

很多項(xiàng)目中用到了搖一搖功能,當(dāng)我去實(shí)現(xiàn)的時(shí)候,發(fā)現(xiàn)很多問題:

1、如何控制搖一搖功能?即打開和關(guān)閉
2、如何在所有控制器中實(shí)現(xiàn)搖一搖功能?

搖一搖功能很好實(shí)現(xiàn),但如何控制它,卻不那么簡(jiǎn)單,我找了很多資料,最后決定用NSUserDefaults屬性存儲(chǔ)來控制搖一搖功能

具體實(shí)現(xiàn)細(xì)節(jié)

我在個(gè)人設(shè)置里面添加搖一搖開關(guān)


1、通過NSUserDefaults屬性存儲(chǔ)保存UISwitch開關(guān)的狀態(tài)(解決問題一)
在此開關(guān)下實(shí)現(xiàn)以下代碼:

- (IBAction)shakeNavi:(UISwitch *)sender {
 BOOL value = sender.on;
 // 保存UISwitch的開關(guān)狀態(tài)
 [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:value] forKey:@"switch_state"];
 if (value) {
  [[NSUserDefaults standardUserDefaults] setObject:@"shake" forKey:@"isShake"];
  [[NSUserDefaults standardUserDefaults] synchronize];// 同步
 } else {
  [[NSUserDefaults standardUserDefaults] setObject:@"notShake" forKey:@"isShake"];
  [[NSUserDefaults standardUserDefaults] synchronize];// 同步
 }
}

2、我是自定義的UINavigationController,我把搖一搖功能放在這里,因?yàn)樵赨INavigationController下得控制器,都可以實(shí)現(xiàn)搖一搖功能(解決問題二)
很多資料都說添加這兩行代碼,但我沒加,搖一搖功能卻能實(shí)現(xiàn),不明覺厲

// 設(shè)置允許搖一搖功能
[UIApplication sharedApplication].applicationSupportsShakeToEdit = YES;
 //并讓自己成為第一響應(yīng)者
 [self becomeFirstResponder];

#pragma mark - 搖一搖相關(guān)方法
// 搖一搖開始搖動(dòng)
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
 NSString *str = [[NSUserDefaults standardUserDefaults] objectForKey:@"isShake"];

 if ([str isEqualToString:@"shake"]) {
  NSLog(@"開始搖動(dòng)");
  //播放震動(dòng)
  AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
 }
 return;
}

// 搖一搖取消搖動(dòng)
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {
 NSLog(@"取消搖動(dòng)");
 return;
}

// 搖一搖搖動(dòng)結(jié)束
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {

 NSString *str = [[NSUserDefaults standardUserDefaults] objectForKey:@"isShake"];

 if ([str isEqualToString:@"notShake"]) {
  return;
 }
 if (event.subtype == UIEventSubtypeMotionShake) { // 判斷是否是搖動(dòng)結(jié)束
  NSLog(@"結(jié)束搖動(dòng)");
  // 在這里執(zhí)行搖動(dòng)結(jié)束需要執(zhí)行的方法
 }
 return;
}

總結(jié):如果需要在搖一搖過程中實(shí)現(xiàn)震動(dòng),需添加:

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • iOS中UIAlertView警告框組件的使用教程

    iOS中UIAlertView警告框組件的使用教程

    需要注意的是在IOS8之后,UIAlertView和UIActionSheet這兩個(gè)控件被UIAlertController代替,但是這兩個(gè)控件依然可以使,下面我們就簡(jiǎn)單了解一下iOS中UIAlertView警告框組件的使用教程
    2016-05-05
  • iOS兩丫技術(shù)之UILabel性能不夠的解決方法

    iOS兩丫技術(shù)之UILabel性能不夠的解決方法

    這篇文章主要介紹了iOS中控件UILabel性能不夠而自定義UILabel的過程,UILable是iPhone界面最基本的控件,主要用來顯示文本信息,下面通過本文我們來了解一下
    2022-08-08
  • 詳解iOS中多個(gè)網(wǎng)絡(luò)請(qǐng)求的同步問題總結(jié)

    詳解iOS中多個(gè)網(wǎng)絡(luò)請(qǐng)求的同步問題總結(jié)

    這篇文章主要介紹了詳解iOS中多個(gè)網(wǎng)絡(luò)請(qǐng)求的同步問題總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • iOS?xcconfig編寫示例教程

    iOS?xcconfig編寫示例教程

    這篇文章主要為大家介紹了iOS?xcconfig編寫示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • iOS點(diǎn)擊查看大圖的動(dòng)畫效果

    iOS點(diǎn)擊查看大圖的動(dòng)畫效果

    這篇文章主要為大家詳細(xì)介紹了iOS點(diǎn)擊查看大圖的動(dòng)畫效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • iOS中 UIImage根據(jù)屏寬調(diào)整size的實(shí)例代碼

    iOS中 UIImage根據(jù)屏寬調(diào)整size的實(shí)例代碼

    最近做項(xiàng)目遇到這樣一個(gè)需求,要求UIImage根據(jù)屏幕寬度按照自己本身比例改變高度,下面通過本文給大家分享iOS UIImage根據(jù)屏寬調(diào)整size的實(shí)例代碼,需要的朋友參考下吧
    2017-01-01
  • iOS中程序異常Crash友好化處理詳解

    iOS中程序異常Crash友好化處理詳解

    在iOS開發(fā)調(diào)試過程中以及上線之后,程序經(jīng)常會(huì)出現(xiàn)崩潰的問題,下面這篇文章主要給大家介紹了關(guān)于iOS中程序異常Crash友好化處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07
  • iOS中關(guān)于Swift UICollectionView橫向分頁的問題

    iOS中關(guān)于Swift UICollectionView橫向分頁的問題

    這篇文章通過圖文并茂的形式給大家介紹UICollectionView橫向分頁的問題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-05-05
  • 詳解iOS多線程GCD的使用

    詳解iOS多線程GCD的使用

    Grand Central Dispatch (GCD)是Apple開發(fā)的一個(gè)多核編程的解決方法,本文給大家詳細(xì)介紹IOS中GCD的使用,需要的朋友參考下
    2016-03-03
  • 使用Swift代碼實(shí)現(xiàn)iOS手勢(shì)解鎖、指紋解鎖實(shí)例詳解

    使用Swift代碼實(shí)現(xiàn)iOS手勢(shì)解鎖、指紋解鎖實(shí)例詳解

    這篇文章主要介紹了使用Swift代碼實(shí)現(xiàn)iOS手勢(shì)解鎖、指紋解鎖的實(shí)現(xiàn)過程,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-06-06

最新評(píng)論

澳门| 宜宾市| 宣化县| 和静县| 大邑县| 西城区| 广宗县| 镇江市| 保亭| 隆化县| 垣曲县| 扎兰屯市| 鱼台县| 磐石市| 阿城市| 措勤县| 皮山县| 洛扎县| 丁青县| 绿春县| 琼海市| 浦江县| 陵川县| 桐梓县| 灌云县| 贺兰县| 沂南县| 天峻县| 惠东县| 伊宁市| 泰安市| 离岛区| 南召县| 江川县| 延津县| 榕江县| 元氏县| 河南省| 丹寨县| 义乌市| 若尔盖县|