默認情況下,不設置的效果,都是居中現實,button爲150*150
使用以下設置後:
[self setTitleEdgeInsets:UIEdgeInsetsMake( 0.0,-button.imageView.size.width, 0.0,0.0)];
[self setImageEdgeInsets:UIEdgeInsetsMake(0.0, 0.0,0.0, -button.titleLabel.bounds.size.width)];
若要title在圖片的上方,則位置相對於圖片來說,向上移動-80
[self setTitleEdgeInsets:UIEdgeInsetsMake( -80.0,-button.imageView.size.width, 0.0,0.0)];
[self setImageEdgeInsets:UIEdgeInsetsMake(0.0, 0.0,0.0, -button.titleLabel.bounds.size.width)];
效果如下:
綜上所述,若單獨設置一個title或者image在button中的位置,UIEdgeInsets是相對於button的frame來計算的(上,左,下,右,),如果是剛纔所描述的情況,則title是相對於image的frame設置的,而image的位置是相對於titel的位置設置的
over!