UIEdgeInsets UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);
官方給出的解釋是:為按鈕或視圖創(chuàng)建邊緣間距。
間距是矩形周?chē)倪吘唷?正值表示更接近矩形中心的邊距,而負(fù)值表示遠(yuǎn)離中心的邊距迈套。
1.png
上面的圖片來(lái)自于一葉博客
我的理解是 top嘶摊、left蛹批、bottom以及right的值代表當(dāng)前邊界與當(dāng)前矩形中心的相對(duì)位移情況舟陆,正值代表在原來(lái)基礎(chǔ)上靠近矩形中心方向移動(dòng)矾屯,負(fù)值代表遠(yuǎn)離矩形中心方向移動(dòng)纲仍;
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 10, 0,-10)];
又如
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 20, 0,0)];
或者
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 0, 0,-20)];
上述三條語(yǔ)句具有相同的效果呀袱,均表示按鈕文字在原基礎(chǔ)上往右移動(dòng)10;
個(gè)人理解郑叠,正確用法為top和bottom為一對(duì)夜赵,right和left為一對(duì),用時(shí)互為相反數(shù)(或者兩者符號(hào)不同也行)乡革。
若出現(xiàn)兩者符號(hào)相同寇僧,如:
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 50, 0,50)];
僅限r(nóng)ight和left在數(shù)值超過(guò)一定的值后摊腋,可以裁剪按鈕的文字。
需注意:若bottom和right兩者符號(hào)相同嘁傀,當(dāng)兩者相同時(shí)兴蒸,即使其足夠大,也不會(huì)有任何效果细办,如下面語(yǔ)句橙凳,不會(huì)出現(xiàn)任何變化
[button setTitleEdgeInsets:UIEdgeInsetsMake(300, 0, 300,0)];