国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

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

2020-07-26 02:39:12
字體:
供稿:網(wǎng)友

話不多說,直接進(jìn)主題

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

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

// 防止多次調(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è)置一個(gè)bool變量,記錄一下,延時(shí)更改下變量的值;使用:在所需要的button或者cell的action前調(diào)用即可:

kPreventRepeatClickTime(0.5);

二、獲取當(dāng)前視圖最頂層的ViewController

獲取當(dāng)前視圖最頂層的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) {  /// 保存到本地相冊(cè)  UIImageWriteToSavedPhotosAlbum(viewImage, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL); }}

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

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

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,本文還有許多不足,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 海晏县| 镇坪县| 札达县| 太康县| 灌南县| 项城市| 留坝县| 梨树县| 牡丹江市| 镶黄旗| 呼玛县| 临泉县| 定边县| 太康县| 茂名市| 社会| 广水市| 绥芬河市| 嘉禾县| 黔东| 绩溪县| 繁峙县| 广宁县| 济南市| 无极县| 宝应县| 建湖县| 七台河市| 芮城县| 阿图什市| 吴堡县| 五河县| 盐城市| 蒲城县| 淮滨县| 斗六市| 克山县| 伊春市| 平谷区| 库车县| 永寿县|