UIButton圖片的contentMode(backgroundImage與image)
阿新 • • 發佈:2018-12-11
首先我們要明確一點.UIButton有"兩張"圖片.backgroundImage和image.一個用於背景(在控制元件的上面一層)、一個在最上層和文字是同一層級.
首先contentMode是UIView物件的屬性.
然後UIButton的contentMode並不會影響這兩個屬性.
// return title and image views. will always create them if necessary. always returns nil for system buttons @property(nullable, nonatomic,readonly,strong) UILabel *titleLabel NS_AVAILABLE_IOS(3_0); @property(nullable, nonatomic,readonly,strong) UIImageView *imageView NS_AVAILABLE_IOS(3_0);
只要不是system buttons的buttontype是不會返回nil的.舉個例子:system buttons中的add樣式的"+號"圖片其實是在backgroundImage上的.那麼.這個imageView肯定就是setImage forstate有關的imageView了.
所以進行如下設定來改變setImage forState中的image對應控制元件的contentMode
UIbutton *button = [[UIButton alloc] init];
button.imageView.contentMode = XXXMode;