UIBarButtonItem,UIToolBar

1.添加UIBarButtonItem

bar ButtonItem分左右UIBarButtonItem。我们把左右的都添加上去。

在RootViewController.m中添加代码如下:

[cpp]  view plain copy
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.   
  5.     UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(selectLeftAction:)];  
  6.     self.navigationItem.leftBarButtonItem = leftButton;  
  7.       
  8.     UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd  target:self action:@selector(selectRightAction:)];  
  9.     self.navigationItem.rightBarButtonItem = rightButton;<p class="p1">}</p>  


****这里重点介绍下

UIBarButtonItem *leftButton = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemActiontarget:selfaction:@selector(selectLeftAction:)];

UIBarButtonSystemItemAction的风格,这是系统自带的按钮风格,看下图,你不用一个个试验,你也知道想用那个item,如下图:


2.响应UIBarButtonItem的事件的实现

我们在 action:@selector(selectLeftAction:);

action添加了selectLeftAction和selectRightAction

在RootViewController.m文件中添加代码实现:

  1. -(void)selectLeftAction:(id)sender  
  2. {  
  3.     UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你点击了导航栏左按钮" delegate:self  cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];  
  4.     [alter show];  
  5. }  
  6.   
  7. -(void)selectRightAction:(id)sender  
  8. {  
  9.     UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你点击了导航栏右按钮" delegate:self  cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];  
  10.     [alter show];  
  11. }  
这样在点击左右的UIBarButtonItem时,弹出提示:





1.UIBbarButtonItem有如下几种初始化的方法:

-initWithTitle

-initWithImage

-initWithBarButtonSystemItem

-initWithCustomView

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

2.在UIToolBar上面添加Title

  1. UIToolbar *myToolBar = [[UIToolbar alloc] initWithFrame:
  2. CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];
  3. NSMutableArray *myToolBarItems = [NSMutableArray array];
  4. [myToolBarItems addObject:[[[UIBarButtonItem alloc]
  5. initWithTitle:@"myTile"
  6. style:UIBarButtonItemStylePlain
  7. target:self
  8. action:@selector(action)] autorelease]];
  9. [myToolBar setItems:myToolBarItems animated:YES];
  10. [myToolBar release];
  11. [myToolBarItems];

setItems传入值或者说items是一个对象数组。

3.在UIToolBar上面添加image

  1. [myToolBarItems addObject:[[[UIBarButtonItem alloc]
  2. initWithImage:[UIImage imageNamed:@"myImage.png"]
  3. style:UIBarButtonItemStylePlain
  4. target:self
  5. action:@selector(action)]];

4.在UIToolBar上面添加SystemItem

  1. [myToolBarItems addObject:[[[UIBarButtonItem alloc]
  2. initWithBarButtonSystemItem:UIBarButtonSystemItemPlay
  3. target:self
  4. action:@selector(action)] autorelease]];

Note:

initWithBarButtonSystemItem初始化:

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

Defines system defaults for commonly used items.

  1. typedef enum {
  2. UIBarButtonSystemItemDone,
  3. UIBarButtonSystemItemCancel,
  4. UIBarButtonSystemItemEdit,
  5. UIBarButtonSystemItemSave,
  6. UIBarButtonSystemItemAdd,
  7. UIBarButtonSystemItemFlexibleSpace,
  8. UIBarButtonSystemItemFixedSpace,
  9. UIBarButtonSystemItemCompose,
  10. UIBarButtonSystemItemReply,
  11. UIBarButtonSystemItemAction,
  12. UIBarButtonSystemItemOrganize,
  13. UIBarButtonSystemItemBookmarks,
  14. UIBarButtonSystemItemSearch,
  15. UIBarButtonSystemItemRefresh,
  16. UIBarButtonSystemItemStop,
  17. UIBarButtonSystemItemCamera,
  18. UIBarButtonSystemItemTrash,
  19. UIBarButtonSystemItemPlay,
  20. UIBarButtonSystemItemPause,
  21. UIBarButtonSystemItemRewind,
  22. UIBarButtonSystemItemFastForward,
  23. UIBarButtonSystemItemUndo, // iPhoneOS 3.0
  24. UIBarButtonSystemItemRedo, // iPhoneOS 3.0
  25. } UIBarButtonSystemItem;

5.在UIToolBar上面添加其它各种控件,使用initWithCustomView来完成.

这里需要看一下initWithCustomView的定义:

- (id)initWithCustomView:(UIView *)customView

可以看出,它的参数是一个view

A>加一个开关switch:

  1. [myToolBarItems addObject:[[[UIBarButtonItem alloc]
  2. initWithCustomView:[[[UISwitch alloc] init] autorelease]]
  3. autorelease]];

B>加一个按钮UIBarButtonItem

  1. UIBarButtonItem *myButton = [[[UIBarButtonItem alloc]
  2. initWithTitle:@"myButton"
  3. style:UIBarButtonItemStyleBordered
  4. target:self
  5. action:@selector(action)]autorelease];
  6. get1Button.width = 50;
  7. [myToolBarItems addObject:myButton];

C>加一个文本Label

  1. UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40.0f, 20.0f, 45.0f, 10.0f)];
  2. myLabel.font=[UIFont systemFontOfSize:10];
  3. //myLabel.backgroundColor = [UIColor clearColor];
  4. //myLabel.textAlignment=UITextAlignmentCenter;
  5. UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc]initWithCustomView:myLabel];
  6. [myToolBarItems addObject: myButtonItem];
  7. [mylabel release];
  8. [myButtonItem release];

D>加一个进度条UIProgressView

  1. UIProgressView *myProgress = [[UIProgressView alloc] initWithFrame:CGRectMake(65.0f, 20.0f, 90.0f, 10.0f)];
  2. UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc]initWithCustomView:myProgress];
  3. [myToolBarItems addObject: myButtonItem];
  4. [myProgress release];
  5. [myButtonItem release];

6,代码示例

4.17UIToolBar

- (void)viewDidLoad

{

    [super viewDidLoad];

   

    UIToolbar * tbar = [[[UIToolbar allocinitWithFrame:CGRectMake(0self.view.frame.size.height - 4432044)] autorelease];

    //创建UIToolbar对象

    tbar.tintColor = [UIColor greenColor];

#if 0

    NSMutableArray * array = [[NSMutableArray alloc] initWithCapacity:0];

    for (int i = 0; i < 3; i++) {

        UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:selfaction:nil];

        [array addObject:item];

        [item release];

    }

    UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    btn.frame = CGRectMake(0010030);

    UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:btn];

    //要用initWithCustonView:

    [array addObject:item];

    [item release];

    tbar.items = array;

    [array release];

#else

//UIToolbar中加入的按钮都是UIBarButtonItem类型

    UIBarButtonItem * item0 = [[[UIBarButtonItem allocinitWithTitle:@"上一页" style:UIBarButtonItemStyleDone target:selfaction:nilautorelease];

    UIBarButtonItem * item1 = [[[UIBarButtonItem allocinitWithTitle:@"首页"style:UIBarButtonItemStyleDone target:selfaction:nilautorelease];

    UIBarButtonItem * item2 = [[[UIBarButtonItem allocinitWithTitle:@"下一页" style:UIBarButtonItemStyleDone target:selfaction:nilautorelease];

    UIBarButtonItem * spaceItem = [[[UIBarButtonItem allocinitWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpacetarget:self action:nilautorelease];

    //spaceItem是一个弹簧按钮(UIBarButtonSystemItemFlexibleSpace)

    tbar.items = [NSArrayarrayWithObjects:item0, spaceItem, item1, spaceItem, item2, nil];

     //要达到相同的效果,也可以插入一个buttonbutton的类型为Customenabled设置为NO

    [self.view addSubview: tbar];

#endif

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值