• iPhone NavigationBar和UIToolbar基础


     

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

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

     

    • self.navigationItem.titleView
    • self.navigationItem.leftBarButtonItem
    • self.navigationItem.rightBarButtonItem
    左右按钮可以使用UIBarButtonItem来构造. 他默认有很多种按钮可攻选择:
    Java代码 
    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,      // available in iPhone 3.0  
    24.     UIBarButtonSystemItemRedo,      // available in iPhone 3.0  
    25. } UIBarButtonSystemItem;  
     
    通过构造初始化可以设置这些按钮的种类:
    Java代码 
    1. [[[UIBarButtonItem alloc]   
    2.              initWithBarButtonSystemItem:UIBarButtonSystemItemPlay  
    3.              target:nil action:NULL] autorelease];  
     
    除此之外,UIBarButtonItem还有几种外观风格:
    Java代码 
    1. typedef enum {  
    2.     UIBarButtonItemStylePlain,    // shows glow when pressed  
    3.     UIBarButtonItemStyleBordered,  
    4.     UIBarButtonItemStyleDone,  
    5. } UIBarButtonItemStyle;  
     
    当然按钮有风格之分, navigation bar 也有几种可选风格:
    Java代码 
    1. typedef enum {  
    2.     UIBarStyleDefault          = 0,  
    3.     UIBarStyleBlack            = 1,  
    4.       
    5.     UIBarStyleBlackOpaque      = 1// Deprecated. Use UIBarStyleBlack  
    6.     UIBarStyleBlackTranslucent = 2// Deprecated. Use UIBarStyleBlack and set the translucent property to YES  
    7. } UIBarStyle;  
     
    通过:navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent这样的语句就可以设置了.
     
    这个UIBarStyle的风格还适用于UIToolbar. 并且UIToolBar中也是可以放置UIBarButtonItem的.
    Java代码 
    1. NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:4];  
    2.       
    3.     UIBarButtonItem *flexibleSpaceItem;  
    4.     flexibleSpaceItem = [[[UIBarButtonItem alloc]   
    5.                           initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace  
    6.                           target:nil action:NULL] autorelease];   
    7.     [buttons addObject:flexibleSpaceItem];  
    8.     [flexibleSpaceItem release];  
    9.       
    10.     UIBarButtonItem *item;  
    11.     item = [[UIBarButtonItem alloc]   
    12.             initWithImage:[UIImage imageNamed:@"down.png"]  
    13.             style:UIBarButtonItemStylePlain   
    14.             target:self   
    15.             action:@selector(decrement:)];  
    16.     [buttons addObject:item];  
    17.     [item release];  
    18.       
    19.     item = [[UIBarButtonItem alloc]   
    20.             initWithImage:[UIImage imageNamed:@"up.png"]  
    21.             style:UIBarButtonItemStylePlain target:self   
    22.             action:@selector(increment:)];  
    23.     [buttons addObject:item];  
    24.     [item release];  
    25.       
    26.     item = [[[UIBarButtonItem alloc]   
    27.              initWithBarButtonSystemItem:UIBarButtonSystemItemPlay  
    28.              target:nil action:NULL] autorelease];    
    29.     [buttons addObject:item];  
    30.     [item release];  
    31.       
    32.       
    33.     flexibleSpaceItem = [[[UIBarButtonItem alloc]   
    34.                           initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace  
    35.                           target:nil action:NULL] autorelease];   
    36.   
    37.     [buttons addObject:flexibleSpaceItem];  
    38.     [flexibleSpaceItem release];  
    39.       
    40.       
    41.     UIToolbar *toolbar = [[UIToolbar alloc] init];   
    42.     toolbar.barStyle = UIBarStyleBlackOpaque;  
    43.     [toolbar setItems:buttons animated:YES];  
    44.     [toolbar sizeToFit];  

    id 博主 = [[KILONET.CNBLOGS.COM alloc] initWithValue:@"天堂向右,我依然向左"

                  网名:@"老舟"

                  兴趣:@"影音,阅读"

                  动态:@"系统架构设计,Android通信模块开发"

                  网址:@"http://kilonet.cnblogs.com"
                  签名:@"--------------------------------------------------

                                  Stay Hungry , Stay Foolish

                                  求  知  若  渴,处  事  若  愚

                              --------------------------------------------------"

                  ];         // Never Release

  • 相关阅读:
    LightOj 1016
    uva 127 "Accordian" Patience 简单模拟
    hdu 1180 诡异的楼梯 BFS + 优先队列
    UVALive 3907 Puzzle AC自动机+DP
    HDU 4001 To Miss Our Children Time DP
    HDU 4000 Fruit Ninja 树状数组
    hdu_1021_Fibonacci Again_201310232237
    hdu_1005_Number Sequence_201310222120
    hdu_1029-Ignatius and the Princess IV_201310180916
    hdu_1020_Encoding_201310172120
  • 原文地址:https://www.cnblogs.com/KiloNet/p/1807328.html
Copyright © 2020-2023  润新知