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

首頁 > 學院 > 開發設計 > 正文

關于UIButton中的ContentEdgeInsets的深入研究

2019-11-14 18:53:50
字體:
來源:轉載
供稿:網友

UIButton的contentEdgeInsets屬性的深入研究

  • 由于用UIButton這個屬性做過一些東西,但是對它的規律始終不太了解,雖然蘋果官方文檔的解釋大體上可以理解為,這個屬性設置的是內邊距,更通俗點說,是規定,Button向內的多少區域其它控件是不能進入的。但是總存在一些奇怪的現象,所以我做了個Demo得出下面的規律。先看demo??梢韵螺d自己嘗試。

  • 我們先研究豎直方向上的,也就是頂部和底部向內推這個方向。代碼如下,我們先在StoryBoard上創建一個Button然后, 設置Button上的文字,并讓這個label自動換行,可以發現一開始Label的frame = {{3, 15}, {38, 41}}.然后我們打開豎直方向上的注釋, 會發現下面比上面多推了10個單位, 而且這時候20.5 + 30.5 + 41大于Button的高度71的,那么你估計出Label的Y值了么,我嘗試了很多出數據,得出了規律,此時Label是向上移動5給單位。也就是所處位置是{3, 10}.也就說,Label在豎直方向上的位置,取決于上下內邊距之差的絕對值乘以0.5。至于是原來y值加上還是減去, 這要看偏向父空那一邊,如果是底部往上推更多,那就是減去。
  • 再來研究水平方向,我以為水平方向也如此。但是并非如此,水平方向是不會相互作用的,如果水平兩個方向的推進會將原來的Label進行壓縮,但是Label的面積不會變,也就是說給Label留下的寬度如果小于Label的寬度,那么Label就會被壓成這個寬度,然后會變長,所以當我們水平方向上壓縮到0時候,Label就會不見了,因為此時Label相當于無限的長,無限的細致。就算水平某一方推進的已經覆蓋掉了另外一方,Label還是會不存在。因為此時寬度是無限趨向于0

- (void)viewDidLoad {    [super viewDidLoad];    NSLog(@"before setting insets%@", NSStringFromCGRect(self.button.frame));    //self.button.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 71, 10);    [self.button setTitle:@"testestes" forState:UIControlStateNormal];    self.button.titleLabel.numberOfLines = 0;    self.button.titleLabel.backgroundColor = [UIColor blueColor];    self.button.frame = CGRectMake(198, 285, 44, 71);    self.button.backgroundColor = [UIColor redColor];    [self.button layoutIfNeeded];    NSLog(@"after setting titleLabel's frame = %@", NSStringFromCGRect(self.button.titleLabel.frame));    //self.button.contentEdgeInsets = UIEdgeInsetsMake(0, 22, 0,21); // 研究水平方向測試1    //self.button.contentEdgeInsets = UIEdgeInsetsMake(0, 21, 0,21); // 研究水平方向測試2    //self.button.contentEdgeInsets = UIEdgeInsetsMake(0, 20, 0,21); // 研究水平方向測試3    // self.button.contentEdgeInsets = UIEdgeInsetsMake(20.5, 0, 30.5,0); // 研究豎直方向測試2    [self.button layoutIfNeeded];    NSLog(@"after setting insets titleLabel's frame = %@", NSStringFromCGRect(self.button.titleLabel.frame));    NSLog(@"after setting insets%@", NSStringFromCGRect(self.button.frame));    // Do any additional setup after loading the view, typically from a nib.     */}
  • 總結(兩點):
  • UIButton設置內邊距的時候,內邊距 + 寬 <= UIButton的寬或者內邊距 + 高<= UIButton。那么是沒有問題的。Label的位置是不會變化的。
  • 當UIButton的寬高不滿足上面的情況時候

    • 豎直方向UILabel是硬的,水平方向是軟的。
    • 豎直方向移動多少, 取決于上下內邊距之差的絕對值。
    • 水平方向的UILabel的寬度取決于所留空間是否夠大于UILabel的寬。如果是,UILabel寬不會變, 如果不是的話,UILabel的寬就等于所留的寬, 高度于文字大小有關,如果寬度為擠壓寬度且不為零(擠壓寬度的意思是, 不是原來的寬, 是被擠壓過的寬),那么X的坐標就是左邊推進的高度。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品欧美激情| 欧美在线一区二区三区四| 亚洲美女www午夜| 自拍偷拍亚洲区| 国产精品自拍小视频| 亚洲第一中文字幕在线观看| 日韩av在线看| 91久久精品一区| 日韩精品在线视频美女| 91国产视频在线播放| 欧美国产日本在线| 91精品久久久久久久久久另类| 欧美一性一乱一交一视频| 欧美www视频在线观看| 久久视频在线播放| 日韩欧美亚洲范冰冰与中字| 日韩av电影手机在线| 国产欧美精品在线播放| 国产日韩换脸av一区在线观看| 久久夜精品va视频免费观看| 欧美激情久久久| 欧美精品一区二区免费| 91国内在线视频| 国内伊人久久久久久网站视频| 成人黄色免费片| 欧美高清不卡在线| 欧美日韩午夜视频在线观看| 亚洲第一在线视频| 欧美理论电影在线播放| 91美女片黄在线观| 日韩av最新在线观看| 国产精品午夜视频| 亚洲精品久久久久| 亚洲一区av在线播放| 欧美日韩日本国产| 在线视频免费一区二区| 久久精品国产成人精品| 色偷偷偷综合中文字幕;dd| 成人黄色短视频在线观看| 国产精品久久久久9999| 97超级碰碰碰久久久| 亚洲精品一区在线观看香蕉| 欧美国产日本高清在线| 亚洲精品女av网站| 亚洲字幕一区二区| 亚洲一区二区三区四区视频| 欧美成人午夜剧场免费观看| 亚洲国产精品高清久久久| 国产一区二区三区日韩欧美| 欧美精品videos另类日本| 国产精品高潮呻吟久久av无限| 国产欧美一区二区白浆黑人| 中文字幕在线观看亚洲| 欧美日韩999| 欧美最猛性xxxxx亚洲精品| 亚洲视频在线播放| 国产精品盗摄久久久| 日韩人体视频一二区| 欧美精品一区二区免费| 国产精品三级在线| 欧美乱人伦中文字幕在线| 国产亚洲在线播放| 久久资源免费视频| 国产91在线播放| 欧美性猛交xxx| 色偷偷88888欧美精品久久久| 欧美在线视频一区二区| 在线中文字幕日韩| 这里精品视频免费| 国产日产亚洲精品| 久热精品在线视频| 久久久久久久久久婷婷| 日韩欧美国产黄色| 欧美性猛交丰臀xxxxx网站| 国产成人精品视频在线观看| 久久久久久久久国产| 日本精品久久电影| 中文字幕日本欧美| 91丨九色丨国产在线| 国产精品视频免费在线观看| 国产伦精品一区二区三区精品视频| 亚洲激情中文字幕| 欧美色另类天堂2015| 亚洲大胆人体视频| 亚洲丁香久久久| 欧美成年人视频网站欧美| 伊人伊成久久人综合网小说| 国产欧美一区二区白浆黑人| 亚洲香蕉av在线一区二区三区| 亚洲wwwav| 国产精品爽黄69| 国产亚洲精品高潮| 国产日韩精品电影| 国产精品私拍pans大尺度在线| 97国产suv精品一区二区62| 国产精品电影在线观看| 亚洲最大av网| 日韩av一区在线| 亚洲国产小视频在线观看| 欧美黑人xxxⅹ高潮交| 欧美午夜视频在线观看| 日本午夜精品理论片a级appf发布| 久久免费高清视频| 国产精品美女主播| 91爱爱小视频k| 亚洲国产古装精品网站| 国产精品久久国产精品99gif| 国产亚洲精品久久久久久777| 欧美裸体xxxxx| 97人人爽人人喊人人模波多| 一道本无吗dⅴd在线播放一区| 亚洲精品欧美日韩专区| 日本乱人伦a精品| 欧美午夜www高清视频| 国语对白做受69| 亚洲色图欧美制服丝袜另类第一页| 精品一区二区三区电影| 538国产精品一区二区免费视频| 这里只有精品视频在线| 亚洲成人精品久久久| 啊v视频在线一区二区三区| 欧美日韩国产一区二区| 国产精品久久久久秋霞鲁丝| 理论片在线不卡免费观看| 色噜噜狠狠狠综合曰曰曰88av| 日韩av综合网| 亚洲免费视频在线观看| 久久精品99久久久久久久久| 亚洲欧美另类人妖| 欧美日韩电影在线观看| 国产小视频国产精品| 日韩动漫免费观看电视剧高清| 久久久久久久999精品视频| 深夜福利一区二区| 色综合视频网站| 欧美福利视频在线观看| 红桃av永久久久| 久久久国产在线视频| 国产v综合ⅴ日韩v欧美大片| 亚洲二区在线播放视频| 亚洲免费人成在线视频观看| 91中文字幕在线| 精品偷拍一区二区三区在线看| 久久久久久久久久久久av| 在线中文字幕日韩| 国产精品亚洲аv天堂网| 成人激情电影一区二区| 久久久久久伊人| 欧美精品www在线观看| 疯狂做受xxxx欧美肥白少妇| 亚洲欧美日韩另类| 日韩高清人体午夜| 中文字幕成人在线| 成人在线一区二区| 国产精品自产拍在线观| 97在线日本国产| 91av在线精品| 亚洲xxxx在线| 黄色精品一区二区| 国产香蕉精品视频一区二区三区| 在线播放国产精品| 91视频免费在线| 久热精品视频在线观看一区| 国产成人中文字幕|