iOS總結(jié)小知識(shí)(二)

1腊凶、UITextView中打開或禁用復(fù)制编矾、剪切狼渊、選擇箱熬、全選等功能:
//繼承UITextView重寫這個(gè)方法

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
 //返回NO為禁用,YES為開啟
 //粘貼
 if(action == @selector(paste:)) return NO;
 //剪切
 if(action == @selector(cut:)) return NO;
 //復(fù)制
 if(action == @selector(copy:)) return NO;
 //選擇
 if(action == @selector(select:)) return NO;
 //選中全部
 if(action == @selector(selectAll:)) return NO;
 //刪除
 if(action == @selector(delete:)) return NO;
 //分享
 if(action == @selector(share)) return NO;
 return [super canPerformAction:action withSender:sender];
}

2狈邑、為一個(gè)View添加虛線邊框

 CAShapeLayer * border = [CAShapeLayer layer];
 border.strokeColor = [UIColor colorWithRed:67/255.0f green:37/255.0f
blue:83/255.0f alpha:1].CGColor;
 border.fillColor = nil;
 border.lineDashPattern = @[@4,@2];
 border.path = [UIBezierPath bezierPathWithRect:view.bounds].CGPath;
 border.frame = view.bounds;
 [view.layer addSublayer:border];

3城须、修改cell.imageView的大小

 UIImage * icon = [UIImage imageNamed:@""];
 CGSize itemSize = CGSizeMake(30,30);
 UIGraphicsBeginImageContextWithOptions(itemSize,NO,0.0);
 CGRect imageRect = CGRectMake(0.0,0.0,itemSize.width,itemSize.height);
 [icon drawInRect:imageRect];
 cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
 UIGraphicsEndImageContext();

4、在指定的寬度下米苹,讓UILabel自動(dòng)設(shè)置最佳font

 label.adjustsFontSizeToFitWith = YES;

5糕伐、在狀態(tài)欄增加網(wǎng)絡(luò)請(qǐng)求的菊花,類似safari加載網(wǎng)頁的時(shí)候狀態(tài)欄菊花

 [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

6蘸嘶、tableViewCell分割線頂?shù)筋^

-(void)tableView:(UITableView *)tableView willDisplayerCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath
{
 [cell setSeparatorInset:UIEdgeInsetsZero];
 [cell setLayoutMargins:UIEdgeInsetsZero];
 cell.preservesSuperviewLayoutMargins = NO;
}
- (void)viewDidLayoutSubviews{
 [self.tableView setSepatatorInset:UIEdgeInsetsZero];
 [self.tableView setLayoutMargins:UIEdgeInsetsZero];
}

7良瞧、設(shè)置tableView分割線顏色

 [self.tableView setSeparatorColor:[UIColor myColor]];

8、設(shè)置屏幕方向

 [[UIDevice currentDevice] setValue:@(UIInterfaceOrientationLandscapeLeft)
forKey:@"orientation"];

9训唱、在非ViewController的地方彈出UIAlertController對(duì)話框

 //最好抽成一個(gè)分類
 UIAlertController * alertController = [UIAlertController
alertControllerWithTitle:@"Title" message:@"message"
preferredStyle:UIAlertControllerStyleAlert];
 id rootViewController = [UIApplication
sharedApplication].delegate.window.rootViewController;
        if([rootViewController isKindOfClass:[UINavigationController class]])
 {
 rootViewController = ((UINavigationController
*)rootViewController).viewController.firstObject;
 }
 if([rootViewController isKindOfClass:[UITabBarController class]])
 {
 rootViewController = ((UITabBarController
*)rootViewController).selectedViewController;
 }
 [rootViewController presentViewController:alertController animated:YES
completetion:nil];

10褥蚯、禁用系統(tǒng)滑動(dòng)返回功能

-(void)viewDidAppear:(BOOL)animated
{
 [super viewDidAppear:animated];
 if([self.navigationController respondsToSelector:@selector
(interactivePopGestureRecognizer)]){
 self.navigationController.interactivePopGestureRecognizer.delegate = self;
 }
}
-(void)viewWillDisappear:(BOOL)animated{
 [super viewWillDisappear:animated];
 if([self.navigationController respondsToSelector:@selector
(interactivePopGestureRecognizer)]){
 self.navigationController.interactivePopGestureRecognizer.delegate = nil;
 }
}
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer*)gestureRecognizer
{
 return NO;
}

11、合并兩個(gè)圖片

+ (UIImage*)mergeImage:(UIImage*)firstImage withImage:(UIImage*)secondImage {
    CGImageRef firstImageRef = firstImage.CGImage;
    CGFloat firstWidth = CGImageGetWidth(firstImageRef);
    CGFloat firstHeight = CGImageGetHeight(firstImageRef);
    CGImageRef secondImageRef = secondImage.CGImage;
    CGFloat secondWidth = CGImageGetWidth(secondImageRef);
    CGFloat secondHeight = CGImageGetHeight(secondImageRef);
    CGSize mergedSize = CGSizeMake(MAX(firstWidth, secondWidth), MAX(firstHeight,
secondHeight));
    UIGraphicsBeginImageContext(mergedSize);
    [firstImage drawInRect:CGRectMake(0, 0, firstWidth, firstHeight)];
    [secondImage drawInRect:CGRectMake(0, 0, secondWidth, secondHeight)];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

12况增、AFNetworking監(jiān)聽網(wǎng)絡(luò)狀態(tài)

// 監(jiān)聽網(wǎng)絡(luò)狀況
    AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
    [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        switch (status) {
            case AFNetworkReachabilityStatusUnknown:
                break;
            case AFNetworkReachabilityStatusNotReachable: {
                [SVProgressHUD showInfoWithStatus:@"當(dāng)前設(shè)備無網(wǎng)絡(luò)"];
            }
                break;
            case AFNetworkReachabilityStatusReachableViaWiFi:
                [SVProgressHUD showInfoWithStatus:@"當(dāng)前Wi-Fi網(wǎng)絡(luò)"];
                break;
            case AFNetworkReachabilityStatusReachableViaWWAN:
                [SVProgressHUD showInfoWithStatus:@"當(dāng)前蜂窩移動(dòng)網(wǎng)絡(luò)"];
                break;
            default:
                break;
        }
    }];
    [mgr startMonitoring];

13赞庶、獲取設(shè)備mac地址

+ (NSString *)macAddress {
    int                 mib[6];
    size_t              len;
    char                *buf;
    unsigned char       *ptr;
    struct if_msghdr    *ifm;
    struct sockaddr_dl  *sdl;
 
    mib[0] = CTL_NET;
    mib[1] = AF_ROUTE;
    mib[2] = 0;
    mib[3] = AF_LINK;
    mib[4] = NET_RT_IFLIST;
 
    if((mib[5] = if_nametoindex("en0")) == 0) {
        printf("Error: if_nametoindex error\n");
        return NULL;
    }
 
    if(sysctl(mib, 6, NULL, &len, NULL, 0) < 0) {
        printf("Error: sysctl, take 1\n");
        return NULL;
    }
 
    if((buf = malloc(len)) == NULL) {
        printf("Could not allocate memory. Rrror!\n");
        return NULL;
    }
 
    if(sysctl(mib, 6, buf, &len, NULL, 0) < 0) {
        printf("Error: sysctl, take 2");
        return NULL;
    }
 
    ifm = (struct if_msghdr *)buf;
    sdl = (struct sockaddr_dl *)(ifm + 1);
    ptr = (unsigned char *)LLADDR(sdl);
    NSString *outstring = [NSString stringWithFormat:@"X:X:X:X:X:X",
                           *ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5)];
    free(buf);
 
    return outstring;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市澳骤,隨后出現(xiàn)的幾起案子歧强,更是在濱河造成了極大的恐慌,老刑警劉巖为肮,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摊册,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡颊艳,警方通過查閱死者的電腦和手機(jī)茅特,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來籽暇,“玉大人温治,你說我怎么就攤上這事〗溆疲” “怎么了熬荆?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)绸狐。 經(jīng)常有香客問我卤恳,道長(zhǎng)累盗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任突琳,我火速辦了婚禮若债,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拆融。我一直安慰自己蠢琳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布镜豹。 她就那樣靜靜地躺著傲须,像睡著了一般。 火紅的嫁衣襯著肌膚如雪趟脂。 梳的紋絲不亂的頭發(fā)上泰讽,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音昔期,去河邊找鬼已卸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛硼一,可吹牛的內(nèi)容都是我干的累澡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼欠动,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼永乌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起具伍,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤翅雏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后人芽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體望几,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年萤厅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了橄抹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡惕味,死狀恐怖楼誓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情名挥,我是刑警寧澤疟羹,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響榄融,放射性物質(zhì)發(fā)生泄漏参淫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一愧杯、第九天 我趴在偏房一處隱蔽的房頂上張望涎才。 院中可真熱鬧,春花似錦力九、人聲如沸耍铜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽业扒。三九已至检吆,卻和暖如春舒萎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蹭沛。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工臂寝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摊灭。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓咆贬,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親帚呼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掏缎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 1、禁止手機(jī)睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa閱讀 1,117評(píng)論 1 6
  • 本文原作者------>原文作者:雜霧無塵[http://www.reibang.com/p/1ff9e44cc...
    辛小二閱讀 787評(píng)論 2 2
  • 【茫茫人海煤杀,你我相遇】 文/待夕而歸 上一章 前言 ↓↓↓ 興昌路旁的一家西裝店眷蜈,掛滿了各式各樣的西服,這些...
    待夕而歸閱讀 675評(píng)論 1 1
  • 其實(shí)沒有想好沈自,想了好半天酌儒,感覺100個(gè)仰臥起坐會(huì)好痛苦~ 【30天保證書】 我是單星辰,在接下來的30天枯途,我專注的...
    我愛207閱讀 135評(píng)論 0 0
  • 我沒有那么華麗的詞語來形容忌怎,我沒有那么多感謝的話能跟您講,我也許并不算很好的學(xué)生酪夷,但在你手下卻是唯一一個(gè)聽您說過最...
    林理山閱讀 922評(píng)論 0 1