iOS系統自帶控制元件 UIBarButtonSystemItem 的樣式解析
阿新 • • 發佈:2019-01-26
樣式 | 圖片 |
UIBarButtonSystemItemDone | |
UIBarButtonSystemItemCancel | |
UIBarButtonSystemItemEdit | |
UIBarButtonSystemItemSave | |
UIBarButtonSystemItemAdd | |
UIBarButtonSystemItemFlexibleSpace | 無樣式 |
UIBarButtonSystemItemFixedSpace | 無樣式 |
UIBarButtonSystemItemCompose | |
UIBarButtonSystemItemReply |
|
UIBarButtonSystemItemAction | |
UIBarButtonSystemItemOrganize | |
UIBarButtonSystemItemBookmarks | |
UIBarButtonSystemItemSearch | |
UIBarButtonSystemItemRefresh | |
UIBarButtonSystemItemStop | |
UIBarButtonSystemItemCamera | |
UIBarButtonSystemItemTrash | |
UIBarButtonSystemItemPlay | |
UIBarButtonSystemItemPause | |
UIBarButtonSystemItemRewind |
|
UIBarButtonSystemItemFastForward | |
UIBarButtonSystemItemUndo | |
UIBarButtonSystemItemRedo | |
UIBarButtonSystemItemPageCurl |
可能有同學注意到 UIBarButtonSystemItemFlexibleSpace 和 UIBarButtonSystemItemFixedSpace 兩個是無樣式的.
那他們是做什麼用的呢?
他們不是按鈕,而是調整按鈕間距用的物件.
讓4個按鈕等間距地分佈在工具條中,在使用UIViewController的setToolbarItems:方法 追加按鈕時,如下述程式碼一樣在4個按鈕之間追加IBarButtonSys
temItemFlexibleSpace物件即可。
例如下圖:
首先建立方法
- (UIBarButtonItem*)barButtonSystemItem :(UIBarButtonSystemItem) systemItem {
UIBarButtonItem* button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:systemItem target:nil action:nil];
return button;
}
呼叫
[self setToolbarItems:[NSArray arrayWithObjects:[self barButtonSystemItem:UIBarButtonSystemItemAction],
[self barButtonSystemItem:UIBarButtonSystemItemFlexibleSpace],
[self barButtonSystemItem:UIBarButtonSystemItemBookmarks],
[self barButtonSystemItem:UIBarButtonSystemItemFlexibleSpace],
[self barButtonSystemItem:UIBarButtonSystemItemCancel],
[self barButtonSystemItem:UIBarButtonSystemItemFlexibleSpace],
[self barButtonSystemItem:UIBarButtonSystemItemEdit],nil]];
在呼叫的過程中,使用 UIBarButtonSystemItemFlexibleSpace去佔位,達到實現規範化的目的
實現效果:
相應的 UIBarButtonSystemItemFixedSpace則是使特定位置控制元件替代.
更多精彩文章,盡在我的公眾號.