UIToolBar使用示例

可以在toolBar上添加任何View。其實它的原理是把你要添加的View先加到UIBarButtonItem裏面,最後再把UIBarButtonItem數組一次性放到toolbar的items裏面。



1.首先,我們看一下UIBbarButtonItem有哪些初始化方法,這也可以看出,它可以被定義爲什麼東東,然後加到UIToolBar上面去。

根據SDK的文檔,我們可以發現UIBarButtonItem有如下幾種初始化的方法:

-initWithTitle(添加button用這個)

-initWithImage

-initWithBarButtonSystemItem(添加系統自定義的button,形狀跟大小都已經固定了)下面鏈接裏面有按鈕圖片樣式

https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIBarButtonItem_Class/Reference/Reference.html

-initWithCustomView(添加除了button以外的View)

第4種方法就是我們添加各種作料的接口,所以今天的主角其它也是它。

2.在UIToolBar上面添加Title

view plaincopy to clipboardprint?

UIToolbar *myToolBar = [[UIToolbar alloc] initWithFrame:  

                                                    CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];  

                                                      

NSMutableArray *myToolBarItems = [NSMutableArray array];  

[myToolBarItems addObject:[[[UIBarButtonItem alloc]  

                                                        initWithTitle:@"myTile"   

                                                        style:UIBarButtonItemStylePlain   

                                                        target:self   

                                                        action:@selector(action)] autorelease]];  

[myToolBar setItems:myToolBarItems animated:YES];  

[myToolBar release];  

[myToolBarItems];                                                         

 

setItems傳入值或者說items是一個對象數組。

3.在UIToolBar上面添加image

view plaincopy to clipboardprint?

[myToolBarItems addObject:[[[UIBarButtonItem alloc]  

                                        initWithImage:[UIImage imageNamed:@"myImage.png"]   

                                        style:UIBarButtonItemStylePlain   

                                        target:self   

                                        action:@selector(action)]];   

4.在UIToolBar上面添加SystemItem

[myToolBarItems addObject:[[[UIBarButtonItem alloc]  

                                        initWithBarButtonSystemItem:UIBarButtonSystemItemPlay   

                                        target:self   

                                        action:@selector(action)] autorelease]];   

Note:

initWithBarButtonSystemItem初始化:

- (id)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action

Defines system defaults for commonly used items.

typedef enum {  

    UIBarButtonSystemItemDone,  

    UIBarButtonSystemItemCancel,  

    UIBarButtonSystemItemEdit,  

    UIBarButtonSystemItemSave,  

    UIBarButtonSystemItemAdd,  

    UIBarButtonSystemItemFlexibleSpace,  

    UIBarButtonSystemItemFixedSpace,  

    UIBarButtonSystemItemCompose,  

    UIBarButtonSystemItemReply,  

    UIBarButtonSystemItemAction,  

    UIBarButtonSystemItemOrganize,  

    UIBarButtonSystemItemBookmarks,  

    UIBarButtonSystemItemSearch,  

    UIBarButtonSystemItemRefresh,  

    UIBarButtonSystemItemStop,  

    UIBarButtonSystemItemCamera,  

    UIBarButtonSystemItemTrash,  

    UIBarButtonSystemItemPlay,  

    UIBarButtonSystemItemPause,  

    UIBarButtonSystemItemRewind,  

    UIBarButtonSystemItemFastForward,  

    UIBarButtonSystemItemUndo,        // iPhoneOS 3.0  

    UIBarButtonSystemItemRedo,        // iPhoneOS 3.0  

} UIBarButtonSystemItem;  

5.在UIToolBar上面添加其它各種控件,最自由意義,最有意思的,我把它放在最後來講。我們使用initWithCustomView來完成,

這裏需要看一下initWithCustomView的定義:

- (id)initWithCustomView:(UIView *)customView

可以看出,它的參數是一個VIEW,所以我們給它的配料要正確哦才行哦,否則,你就等着時間DIDADIDA的流失吧.

A>加一個開關switch:

[myToolBarItems addObject:[[[UIBarButtonItem alloc]     

                                initWithCustomView:[[[UISwitch alloc] init] autorelease]]  

                                    autorelease]];  

B>加一個按鈕UIBarButtonItem

UIBarButtonItem *myButton = [[[UIBarButtonItem alloc]  

                                 initWithTitle:@"myButton"  

                                 style:UIBarButtonItemStyleBordered  

                                 target:self   

                                 action:@selector(action)]autorelease];  

get1Button.width = 50;  

[myToolBarItems addObject:myButton];      

C>加一個文本Label

view plaincopy to clipboardprint?

UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40.0f, 20.0f, 45.0f, 10.0f)];  

myLabel.font=[UIFont systemFontOfSize:10];  

//myLabel.backgroundColor = [UIColor clearColor];  

//myLabel.textAlignment=UITextAlignmentCenter;  

UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc]initWithCustomView:myLabel];  

[myToolBarItems addObject: myButtonItem];     

[mylabel release];  

[myButtonItem release];  

 

D>加一個進度條UIProgressView

UIProgressView *myProgress = [[UIProgressView alloc] initWithFrame:CGRectMake(65.0f, 20.0f, 90.0f, 10.0f)];  

UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc]initWithCustomView:myProgress];  

[myToolBarItems addObject: myButtonItem];  

[myProgress release];                                             

[myButtonItem release];  

可以加使用initWithCustomView製作各種button,這裏就不在這裏一個一個在加了。我想你應該也已經掌握瞭如何添加各種buttonItem的方法了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章