一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機(jī)編程>

細(xì)數(shù)iOS的幾個(gè)小技巧

大小:0.2 MB 人氣: 2017-09-26 需要積分:1

  1、控件的局部圓角問(wèn)題

  一個(gè)button或者label,只要右邊的兩個(gè)角圓角,或者只要一個(gè)圓角。該怎么辦呢?這就需要圖層蒙版來(lái)幫助我們了

  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];//創(chuàng)建shapelayer

  masklayer.frame = button.bounds;

  masklayer.path = path.CGPath;//設(shè)置路徑

  button.layer.mask = masklayer;

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

  2、navigationBar的透明問(wèn)題

  如果僅僅把navigationBar的alpha設(shè)為0的話(huà),那就相當(dāng)于把navigationBar給隱藏了,大家都知道,父視圖的alpha設(shè)置為0的話(huà),那么子視圖全都會(huì)透明的。那么相應(yīng)的navigationBar的標(biāo)題和左右兩個(gè)按鈕都會(huì)消失。這樣顯然達(dá)不到我們要求的效果。

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

  [self.navigationController.navigationBar setBackgroundImage:[UIImage new]

  forBarMetrics:UIBarMetricsDefault];//給navigationBar設(shè)置一個(gè)空的背景圖片即可實(shí)現(xiàn)透明,而且標(biāo)題按鈕都在

  細(xì)心的你會(huì)發(fā)現(xiàn)上面有一條線如下圖:

  細(xì)數(shù)iOS的幾個(gè)小技巧

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

  self.navigationController.navigationBar.shadowImage = [UIImage new];

  //其實(shí)這個(gè)線也是image控制的。設(shè)為空即可

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

  //navigationBar是一個(gè)復(fù)合視圖,它是有許多個(gè)控件組成的,那么我們就可以從他的內(nèi)部入手

 ?。郏踫elf.navigationController.navigationBar subviews] objectAtIndex:0].alpha = 0;//這里可以根據(jù)scrollView的偏移量來(lái)設(shè)置alpha就實(shí)現(xiàn)了漸變透明的效果

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?