亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

10個非常實用的iOS小技巧

2020-07-26 02:52:46
字體:
來源:轉載
供稿:網友

在開發過程中我們總會遇到各種各樣的小問題,有些小問題并不是十分容易解決。在此我就總結一下,我在開發中遇到的各種小問題,以及我的解決方法。比較普遍的我就不再提了,這里主要講一些你可能不知道的(當然,也有可能你都知道,大神就不必往下看了)

1、控件的局部圓角問題

你是不是也遇到過這樣的問題,一個button或者label,只要右邊的兩個角圓角,或者只要一個圓角。該怎么辦呢。這就需要圖層蒙版來幫助我們了

CGRect rect = CGRectMake(0, 0, 100, 50);   CGSize radio = CGSizeMake(5, 5);//圓角尺寸   UIRectCorner corner = UIRectCornerTopLeft|UIRectCornerTopRight;//這只圓角位置   UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:corner cornerRadii:radio];   CAShapeLayer *masklayer = [[CAShapeLayer alloc]init];//創建shapelayer   masklayer.frame = button.bounds;   masklayer.path = path.CGPath;//設置路徑   button.layer.mask = masklayer; 

舉例為button,其它繼承自UIView的控件都可以

2、navigationBar的透明問題

如果僅僅把navigationBar的alpha設為0的話,那就相當于把navigationBar給隱藏了,大家都知道,父視圖的alpha設置為0的話,那么子視圖全都會透明的。那么相應的navigationBar的標題和左右兩個按鈕都會消失。這樣顯然達不到我們要求的效果。

(1)如果僅僅是想要navigationBar透明,按鈕和標題都在可以使用以下方法:

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];//給navigationBar設置一個空的背景圖片即可實現透明,而且標題按鈕都在

細心的你會發現上面有一條線如下圖:

這就需要我們做進一步處理,把線去掉,如下方法即可:

self.navigationController.navigationBar.shadowImage = [UIImage new];  //其實這個線也是image控制的。設為空即可 

(2)如果你想在透明的基礎上實現根據下拉距離,由透明變得不透明的效果,那么上面那個就顯得力不從心了,這就需要我們采用另外一種方法了

//navigationBar是一個復合視圖,它是有許多個控件組成的,那么我們就可以從他的內部入手 [[self.navigationController.navigationBar subviews] objectAtIndex:0].alpha = 0;//這里可以根據scrollView的偏移量來設置alpha就實現了漸變透明的效果 

3、全局設置navigationBar標題的樣式和barItem的標題樣式

//UIColorWithHexRGB( )這個方法是自己定義的,這里只需要給個顏色就好了 [[UINavigationBar appearance] setBarTintColor:UIColorWithHexRGB(0xfefefe)];    [[UINavigationBar appearance] setTitleTextAttributes:@{NSFontAttributeName:[UIFontboldSystemFontOfSize:18],NSForegroundColorAttributeName:UIColorWithHexRGB(0xfe6d27)}];     [[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFontboldSystemFontOfSize:10],NSForegroundColorAttributeName : UIColorWithHexRGB(0x666666)}forState:UIControlStateNormal];    [[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSiz 

4、navigationBar隱藏顯示的過度

相信在使用中肯定遇到過,一個頁面隱藏navigationBar,另一個不隱藏。兩個頁面進行push和pop的時候,尤其是有側滑手勢返回的時候,不做處理就會造成滑動返回時,navigationBar位置是空的,直接顯示一個黑色或者顯示下面一層視圖,很難看。這就需要我們加入過度動畫來隱藏或顯示navigationBar:

在返回后將要出現的頁面實現viewWillAppear方法,需要隱藏就設為YES,需要顯示就設為NO

- (void)viewWillAppear:(BOOL)animated{    [super viewWillAppear:animated];    [self.navigationController setNavigationBarHidden:NO animated:YES];  } 

5、側滑手勢返回

iOS的側滑返回手勢有著很好的操作體驗,不支持側滑返回的應用絕對不是好應用。但是在開發過程中在自定義了返回按鈕,或者某些webView,tableView等頁面,側滑返回手勢失效,這時候就需要我們來進行設置一下了,可以在基類里面協商如下代碼:

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { //需要遵循一下手勢的代理    self.navigationController.interactivePopGestureRecognizer.delegate = self;      self.navigationController.interactivePopGestureRecognizer.enabled = YES;    } 

問題:當返回navigationController的最頂層的Controller的時候。再次側滑,這個時候你在點擊一個push頁面的操作,你會發現卡那了,半天才會有反應。

這是由于,在最頂層Controller手勢依然有效,但是滑動后,并找不到返回的頁面。造成軟件卡頓,假死所以就要在rootViewController中讓此手勢失效。把下面的設為NO

self.navigationController.interactivePopGestureRecognizer.enabled = YES;

當然你也可以使用一個第三方庫,寫的相當棒。他對系統的側滑返回手勢進行拓展,不用從邊緣滑動,只要右滑即可返回。最重要的是,他只需要加入項目中即可,不需要一行代碼即可實現。附上github 網址

https://github.com/forkingdog/FDFullscreenPopGesture

6、給webView添加頭視圖

webView是一個復合視圖,里面包含有一個scrollView,scrollView里面是一個UIWebBrowserView(負責顯示WebView的內容)

UIView *webBrowserView = self.webView.scrollView.subviews[0];//拿到webView的webBrowserView   self.backHeadImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth,kScreenWidth*2/3.0)];   [_backHeadImageView sd_setImageWithURL:[NSURL URLWithString:self.imageUrl] placeholderImage:[UIImageimageNamed:@"placeholderImage"]];   [self.webView insertSubview:_backHeadImageView belowSubview:self.webView.scrollView];    //把backHeadImageView插入到webView的scrollView下面    CGRect frame = self.webBrowserView.frame;   frame.origin.y = CGRectGetMaxY(_backHeadImageView.frame);    self.webBrowserView.frame = frame;    //更改webBrowserView的frame向下移backHeadImageView的高度,使其可見 

7、模態跳轉的動畫設置

設置模態跳轉的動畫,系統提供了四種可供選擇

DetailViewController *detailVC = [[DetailViewController alloc]init];   //UIModalTransitionStyleFlipHorizontal 翻轉   //UIModalTransitionStyleCoverVertical 底部滑出   //UIModalTransitionStyleCrossDissolve 漸顯   //UIModalTransitionStylePartialCurl 翻頁   detailVC.modalTransitionStyle = UIModalTransitionStylePartialCurl;    [self presentViewController:detailVC animated:YES completion:nil]; 

8、圖片處理只拿到圖片的一部分

UIImage *image = [UIImage imageNamed:filename]; CGImageRef imageRef = image.CGImage; CGRect rect = CGRectMake(origin.x, origin.y ,size.width, size.height); //這里的寬高是相對于圖片的真實大小  //比如你的圖片是400x400的那么(0,0,400,400)就是圖片的全尺寸,想取哪一部分就設置相應坐標即可  CGImageRef imageRefRect = CGImageCreateWithImageInRect(imageRef, rect);  UIImage *imageRect = [[UIImage alloc] initWithCGImage:imageRefRect]; 

9、給UIView設置圖片

UIImage *image = [UIImage imageNamed:@"playing"];   _layerView.layer.contents = (__bridge id)image.CGImage; _layerView.layer.contentsCenter = CGRectMake(0.25, 0.25, 0.5, 0.5); //同樣可以設置顯示的圖片范圍 //不過此處略有不同,這里的四個值均為0-1之間;對應的依然是寫x,y,widt,height 

10、給TableView或者CollectionView的cell添加簡單動畫

只要在willDisplayCell方法中對將要顯示的cell做動畫即可:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath*)indexPath{   NSArray *array = tableView.indexPathsForVisibleRows;    NSIndexPath *firstIndexPath = array[0];   //設置anchorPoint   cell.layer.anchorPoint = CGPointMake(0, 0.5);    //為了防止cell視圖移動,重新把cell放回原來的位置   cell.layer.position = CGPointMake(0, cell.layer.position.y);     //設置cell 按照z軸旋轉90度,注意是弧度   if (firstIndexPath.row < indexPath.row) {        cell.layer.transform = CATransform3DMakeRotation(M_PI_2, 0, 0, 1.0);    }else{      cell.layer.transform = CATransform3DMakeRotation(- M_PI_2, 0, 0, 1.0);    }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美久久久精品| 国产欧美日韩精品专区| 日本国产欧美一区二区三区| 麻豆乱码国产一区二区三区| 黑人巨大精品欧美一区二区免费| 欧美国产日韩一区二区| 欧美亚洲日本黄色| yellow中文字幕久久| 亚洲另类欧美自拍| 国产69精品久久久久99| 欧洲成人午夜免费大片| 欧美巨乳美女视频| 久久午夜a级毛片| 亚洲成人久久网| 久久在线免费视频| 国产精品免费久久久久久| 久久精品2019中文字幕| 久久久精品2019中文字幕神马| 成人网在线免费观看| 亚洲天堂日韩电影| 成人国产精品久久久久久亚洲| 亚洲性xxxx| 欧美国产亚洲精品久久久8v| 精品人伦一区二区三区蜜桃网站| 国产一区二区丝袜高跟鞋图片| 色婷婷久久av| 国产精品亚洲激情| 一区三区二区视频| 欧美日韩视频免费播放| 久久久久一本一区二区青青蜜月| 亚洲精品在线视频| 91精品国产综合久久久久久久久| 久久久久久久激情视频| 亚洲精品久久久久国产| 欧美日在线观看| 亚洲国产精彩中文乱码av在线播放| 911国产网站尤物在线观看| 精品国产依人香蕉在线精品| 亚洲欧美日韩另类| 不卡在线观看电视剧完整版| 一区三区二区视频| 在线观看国产成人av片| 国产精品激情av在线播放| 久久国产精品电影| 成人国产精品免费视频| 国产精品久久久久久久久久久久久久| 亚洲一区二区三区成人在线视频精品| 亚洲欧美日韩天堂一区二区| 91国产在线精品| 在线看国产精品| 国产精品91在线| www国产精品视频| 久久久精品中文字幕| 国产精品日韩在线一区| 亚洲美女又黄又爽在线观看| 九九热这里只有精品6| 国产欧美日韩精品专区| 欧美xxxx做受欧美.88| 日韩中文理论片| 色无极影院亚洲| 久久频这里精品99香蕉| 成人精品一区二区三区电影免费| 97精品久久久| 久久综合国产精品台湾中文娱乐网| 狠狠久久五月精品中文字幕| 国产99在线|中文| 午夜精品视频在线| 欧美黑人性生活视频| 欧美小视频在线| 成人欧美一区二区三区在线| 欧美日韩国产激情| 国产精品久久av| 91精品国产一区| 狠狠综合久久av一区二区小说| 91tv亚洲精品香蕉国产一区7ujn| 国产精品丝袜久久久久久高清| 日韩国产精品视频| 久久精品最新地址| 成人女保姆的销魂服务| 国产欧美在线观看| 国产精品第3页| 成人在线免费观看视视频| 日韩欧美在线一区| 欧美情侣性视频| 国产日韩综合一区二区性色av| 51色欧美片视频在线观看| 亚洲综合在线播放| 国产日韩av在线| 国产日韩欧美一二三区| 秋霞av国产精品一区| 中文字幕亚洲欧美日韩高清| 成人欧美一区二区三区在线| 亚洲色图日韩av| 欧美成人精品在线播放| 国产精品青草久久久久福利99| 国精产品一区一区三区有限在线| 久久99久国产精品黄毛片入口| 91视频九色网站| 91精品久久久久久综合乱菊| 国产福利成人在线| 亚洲资源在线看| 欧美成人中文字幕| 91久久久亚洲精品| 福利视频第一区| 日韩高清不卡av| 久久精品99久久香蕉国产色戒| 性夜试看影院91社区| 亚洲老司机av| 亚洲一区二区三区xxx视频| 成人在线视频网| 成人欧美一区二区三区在线湿哒哒| 欧美夜福利tv在线| 国产亚洲aⅴaaaaaa毛片| 亚洲天堂男人天堂女人天堂| 色婷婷**av毛片一区| 亚洲欧美日韩国产精品| 亚洲欧美激情另类校园| 欧美日韩在线影院| 91免费国产视频| 亚洲欧洲日本专区| 日韩精品视频中文在线观看| 98视频在线噜噜噜国产| 欧美成人精品在线视频| 久久久成人精品| 亚洲tv在线观看| 成人av电影天堂| 亚洲精品在线91| 国产日韩欧美成人| 中文字幕日韩精品有码视频| 国产精品成人av在线| 国产mv久久久| 日本欧美爱爱爱| 欧美日韩一区免费| 日韩av高清不卡| 欧美日韩免费区域视频在线观看| 国产一区二区三区中文| 国产亚洲精品美女久久久| 91精品国产自产在线观看永久| 亚洲欧美一区二区激情| 欧美午夜片在线免费观看| 久久亚洲精品成人| 久久影院免费观看| 欧美另类精品xxxx孕妇| 91av在线不卡| 成人在线视频福利| 亚洲精品久久7777777| 欧美做受高潮电影o| 性欧美xxxx视频在线观看| 国产美女久久精品| 欧美华人在线视频| 亚洲欧美激情另类校园| 色偷偷偷亚洲综合网另类| 亚洲欧美综合另类中字| 羞羞色国产精品| 日韩欧美亚洲综合| 精品视频久久久| 精品视频在线播放| 91久久精品日日躁夜夜躁国产| 亚洲国产精品yw在线观看| 综合激情国产一区| 日本精品免费一区二区三区| www.欧美视频| 亚洲精品视频在线观看视频| 69精品小视频|