iPhone NavigationBar和UIToolbar基础

navigation bar 分为三个部分,左按钮,右按钮和中间的View.

在Controller中可以通过以三个方式来引用:

 

  • self.navigationItem.titleView
  • self.navigationItem.leftBarButtonItem
  • self.navigationItem.rightBarButtonItem
左右按钮可以使用UIBarButtonItem来构造. 他默认有很多种按钮可攻选择:
typedef enum {
    UIBarButtonSystemItemDone,
    UIBarButtonSystemItemCancel,
    UIBarButtonSystemItemEdit,  
    UIBarButtonSystemItemSave,  
    UIBarButtonSystemItemAdd,
    UIBarButtonSystemItemFlexibleSpace,
    UIBarButtonSystemItemFixedSpace,
    UIBarButtonSystemItemCompose,
    UIBarButtonSystemItemReply,
    UIBarButtonSystemItemAction,
    UIBarButtonSystemItemOrganize,
    UIBarButtonSystemItemBookmarks,
    UIBarButtonSystemItemSearch,
    UIBarButtonSystemItemRefresh,
    UIBarButtonSystemItemStop,
    UIBarButtonSystemItemCamera,
    UIBarButtonSystemItemTrash,
    UIBarButtonSystemItemPlay,
    UIBarButtonSystemItemPause,
    UIBarButtonSystemItemRewind,
    UIBarButtonSystemItemFastForward,
    UIBarButtonSystemItemUndo,		// available in iPhone 3.0
    UIBarButtonSystemItemRedo,		// available in iPhone 3.0
} UIBarButtonSystemItem;
 
通过构造初始化可以设置这些按钮的种类:
[[[UIBarButtonItem alloc] 
			 initWithBarButtonSystemItem:UIBarButtonSystemItemPlay
			 target:nil action:NULL] autorelease];
 
除此之外,UIBarButtonItem还有几种外观风格:
typedef enum {
    UIBarButtonItemStylePlain,    // shows glow when pressed
    UIBarButtonItemStyleBordered,
    UIBarButtonItemStyleDone,
} UIBarButtonItemStyle;
 
当然按钮有风格之分, navigation bar 也有几种可选风格:
typedef enum {
    UIBarStyleDefault          = 0,
    UIBarStyleBlack            = 1,
    
    UIBarStyleBlackOpaque      = 1, // Deprecated. Use UIBarStyleBlack
    UIBarStyleBlackTranslucent = 2, // Deprecated. Use UIBarStyleBlack and set the translucent property to YES
} UIBarStyle;
 
通过:navigationController .navigationBar .barStyle = UIBarStyleBlackTranslucent这样的语句就可以设置了.

这个UIBarStyle的风格还适用于UIToolbar. 并且UIToolBar中也是可以放置UIBarButtonItem的.
NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:4];
	
	UIBarButtonItem *flexibleSpaceItem;
	flexibleSpaceItem = [[[UIBarButtonItem alloc] 
						  initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
						  target:nil action:NULL] autorelease];	
	[buttons addObject:flexibleSpaceItem];
	[flexibleSpaceItem release];
	
	UIBarButtonItem *item;
	item = [[UIBarButtonItem alloc] 
			initWithImage:[UIImage imageNamed:@"down.png"]
			style:UIBarButtonItemStylePlain 
			target:self 
			action:@selector(decrement:)];
	[buttons addObject:item];
	[item release];
	
	item = [[UIBarButtonItem alloc] 
			initWithImage:[UIImage imageNamed:@"up.png"]
			style:UIBarButtonItemStylePlain target:self 
			action:@selector(increment:)];
	[buttons addObject:item];
	[item release];
	
	item = [[[UIBarButtonItem alloc] 
			 initWithBarButtonSystemItem:UIBarButtonSystemItemPlay
			 target:nil action:NULL] autorelease];	
	[buttons addObject:item];
	[item release];
	
	
	flexibleSpaceItem = [[[UIBarButtonItem alloc] 
						  initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
						  target:nil action:NULL] autorelease];	

	[buttons addObject:flexibleSpaceItem];
	[flexibleSpaceItem release];
	
	
	UIToolbar *toolbar = [[UIToolbar alloc] init]; 
	toolbar.barStyle = UIBarStyleBlackOpaque;
	[toolbar setItems:buttons animated:YES];
	[toolbar sizeToFit];
 

 

你可能感兴趣的:(UP)