UIButton圖片文字位置偏移UIEdgeInsets

UIEdgeInsets實際就是一個結(jié)構(gòu)體,UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)

image.png

上面的結(jié)構(gòu)體,我理解就是距離上、左、下、右的偏移距離,比如上,正數(shù)就是距離上面增加偏移量,負(fù)數(shù)就是減少偏移量

居中之后相當(dāng)于抵消了原來的偏移量,還要再增加一倍的偏移量,所以最后是兩倍的偏移量,還可以增加間距

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

    [btn setImage:[UIImage imageNamed:@"pullup"] forState:UIControlStateNormal];

    [btn setTitle:@"更多sdfac打發(fā)的發(fā)" forState:UIControlStateNormal];

    btn.backgroundColor = [UIColor lightGrayColor];

    btn.frame = CGRectMake(100, 300, 100, 30);

    [self.view addSubview:btn];

    // 還可增設(shè)間距

    CGFloat spacing = 3.0;

    // 圖片右移

    CGSize imageSize = btn.imageView.frame.size;

    btn.titleEdgeInsets = UIEdgeInsetsMake(0.0, - imageSize.width * 2 - spacing, 0.0, 0.0);

    // 文字左移

    CGSize titleSize = btn.titleLabel.frame.size;

    btn.imageEdgeInsets = UIEdgeInsetsMake(0.0, 0.0, 0.0, - titleSize.width * 2 - spacing);

重新設(shè)置titleLabel的text也要重新執(zhí)行后面兩句,當(dāng)文本太長的時候顯示有問題,需要截取

參考:
http://www.itdecent.cn/p/0d3dbc30fad5

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容