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

iOS開發(fā)之一些實用小知識點總結(jié)

 更新時間:2017年10月20日 10:59:09   作者:開發(fā)仔XG  
這篇文章主要給大家介紹了關(guān)于iOS開發(fā)之實用小知識點的相關(guān)資料,其中包括防止UIButton,cell等重復(fù)點擊、獲取當前視圖最頂層的ViewController以及代碼截圖相關(guān)的等知識,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習學(xué)習吧。

話不多說,直接進主題

一、防止UIButton,cell等重復(fù)點擊

主要是快速點擊button或者cell,所對應(yīng)的action或者邏輯會走多次,例如:點擊button或者cell調(diào)用撥打電話的方法,會彈出撥打電話框好多次;這個對用戶不太友好;問了下哥們兒,他給了個宏,目前算是解決這個問題;代碼如下:

// 防止多次調(diào)用
#define kPreventRepeatClickTime(_seconds_) \
static BOOL shouldPrevent; \
if (shouldPrevent) return; \
shouldPrevent = YES; \
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((_seconds_) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ \
shouldPrevent = NO; \
}); \

總的思路是設(shè)置一個bool變量,記錄一下,延時更改下變量的值;使用:在所需要的button或者cell的action前調(diào)用即可:

kPreventRepeatClickTime(0.5);

二、獲取當前視圖最頂層的ViewController

獲取當前視圖最頂層的ViewController

+ (UIViewController *)currentViewController {
 UIWindow * window = [[UIApplication sharedApplication] keyWindow];
 if (window.windowLevel != UIWindowLevelNormal){
  NSArray *windows = [[UIApplication sharedApplication] windows];
  for(UIWindow * tmpWin in windows){
   if (tmpWin.windowLevel == UIWindowLevelNormal){
    window = tmpWin;
    break;
   }
  }
 }
 UIViewController *currentVC = window.rootViewController;
 while (currentVC.presentedViewController) {
  currentVC = currentVC.presentedViewController;
 }
 if ([currentVC isKindOfClass:[UITabBarController class]]) {
  currentVC = [(UITabBarController *)currentVC selectedViewController];
 }
 if ([currentVC isKindOfClass:[UINavigationController class]]) {
  currentVC = [(UINavigationController *)currentVC topViewController];
 }
 return currentVC;
}

三、代碼截圖相關(guān)

截取指定的View:

/// 截屏
- (void)actionForScreenShotWith:(UIView *)aimView savePhoto:(BOOL)savePhoto {

 if (!aimView) return;

 UIGraphicsBeginImageContextWithOptions(aimView.bounds.size, NO, 0.0f);
 [aimView.layer renderInContext: UIGraphicsGetCurrentContext()];
 UIImage* viewImage = UIGraphicsGetImageFromCurrentImageContext();

 UIGraphicsEndImageContext();

 if (savePhoto) {
  /// 保存到本地相冊
  UIImageWriteToSavedPhotosAlbum(viewImage, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
 }
}

保存圖片的回調(diào)處理

- (void)image:(UIImage*)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo{
 if (error) {
  NSLog(@"保存失敗,請重試");
 } else {
  NSLog(@"保存成功");
 }
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,本文還有許多不足,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • iOS使用視聽媒體框架AVFoundation實現(xiàn)照片拍攝

    iOS使用視聽媒體框架AVFoundation實現(xiàn)照片拍攝

    這篇文章主要為大家詳細介紹了iOS使用視聽媒體框架AVFoundation實現(xiàn)照片拍攝,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • iOS如何定義名為任意的變量詳解

    iOS如何定義名為任意的變量詳解

    這篇文章主要給大家介紹了關(guān)于iOS如何定義名為任意的變量的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位iOS開發(fā)者們具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧。
    2018-05-05
  • iOS實現(xiàn)自定義日期選擇器示例

    iOS實現(xiàn)自定義日期選擇器示例

    本篇文章主要介紹了iOS實現(xiàn)自定義日期選擇器示例,可以顯示年月日時分,非常具有實用價值,需要的朋友可以參考下。
    2017-02-02
  • IOS 中UITextField和UITextView中字符串為空和空格的解決辦法

    IOS 中UITextField和UITextView中字符串為空和空格的解決辦法

    這篇文章主要介紹了IOS 中UITextField和UITextView中字符串為空和空格的解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Flutter之TabBarView組件項目實戰(zhàn)示例

    Flutter之TabBarView組件項目實戰(zhàn)示例

    這篇文章主要為大家介紹了Flutter之TabBarView組件項目實戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • iOS中你需要的彈窗效果總結(jié)大全

    iOS中你需要的彈窗效果總結(jié)大全

    彈窗是app中常見控件之一,一般由于項目需求,我們很少能直接使用系統(tǒng)提供的彈窗,這個時候就需要我們根據(jù)產(chǎn)品需求封裝自定義彈窗了。下面這篇文章主要給大家介紹了關(guān)于iOS中你需要的彈窗效果的相關(guān)資料,需要的朋友可以參考下
    2018-09-09
  • 關(guān)于iOS中屬性變量setter與getter方法的理解

    關(guān)于iOS中屬性變量setter與getter方法的理解

    這篇文章主要給大家介紹了關(guān)于iOS中屬性變量setter與getter方法的相關(guān)資料,文章介紹的非常詳細,對大家具有一定的參考學(xué)習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • iOS保存App中的照片到系統(tǒng)相冊或自建相冊的方法

    iOS保存App中的照片到系統(tǒng)相冊或自建相冊的方法

    這篇文章主要介紹了iOS保存App中的照片到系統(tǒng)相冊或自建相冊的方法,示例代碼為傳統(tǒng)的Objective-C語言寫成,需要的朋友可以參考下
    2016-04-04
  • iOS自定義雷達掃描擴散動畫

    iOS自定義雷達掃描擴散動畫

    這篇文章主要為大家詳細介紹了iOS自定義雷達掃描擴散動畫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • iOS 16 CocoaAsyncSocket 崩潰修復(fù)詳解

    iOS 16 CocoaAsyncSocket 崩潰修復(fù)詳解

    這篇文章主要為大家介紹了iOS 16 CocoaAsyncSocket 崩潰修復(fù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01

最新評論

河东区| 板桥市| 漾濞| 桃园市| 鄯善县| 安塞县| 盐池县| 吐鲁番市| 门源| 新乐市| 辽宁省| 钟山县| 台安县| 长兴县| 嵩明县| 阿合奇县| 临西县| 崇仁县| 桓仁| 阿鲁科尔沁旗| 桦南县| 余干县| 新巴尔虎右旗| 通山县| 宿州市| 仪征市| 襄垣县| 维西| 康马县| 昌乐县| 郸城县| 拉萨市| 南乐县| 余江县| 营口市| 榆林市| 上饶市| 凉城县| 库尔勒市| 广饶县| 临西县|