读书频道 > 网站 > 网页设计 > iPhone UIKit详解
3.6.2 工具条按钮间距的调整
12-09-17    奋斗的小年轻
收藏    我要投稿   

本文所属图书 > iPhone UIKit详解

UIKit框架是iPhone应用程序开发中最基本的框架,也是用得最多、最重要的框架。本书就是一本UIKit开发大全,包括UIKit框架中各种类、控件使用技巧的相关介绍。本书每个章节都配有详细的应用实例,方便读者对UIKit...立即去当当网订购

表3-3中罗列了所有的系统按钮,实际UIKit中还提供了两个没有出现在表中的常量。分别是UIBarButtonSystemItemFlexibleSpace 以及  UIBarButtonSystemItem FixedSpace 。这些也是UIBarButtonSystemItem类型常量,但是不是按钮,而是调整按钮间距用的对象。例如,如果没有进行任何处理,依次追加4个按钮后,按钮将显示在工具条左侧,如图3-24所示。


 

如果要让4个按钮等间距地分布在工具条中,在使用UIViewController的setToolbarItems:方法 追加按钮时,如下述代码一样在4个按钮之间追加IBarButtonSys
temItemFlexibleSpace对象即可。

[self setToolbarItems:[NSArray arrayWithObjects:

                     [self barButtonSystemItem:UIBarButtonSystemItemAction]          
     // 追加间距对象UIBarButtonSystemItemFlexibleSpace                       
                                                                             
                     [self barButtonSystemItem:UIBarButtonSystemItemFlexi

 bleSpace]                                                                   

                     [self barButtonSystemItem:UIBarButtonSystemItemBookmarks]

     // 追加间距对象UIBarButtonSystemItemFlexibleSpace

                     [self barButtonSystemItem:UIBarButtonSystemItemFlexi

 bleSpace]

                     [self barButtonSystemItem:UIBarButtonSystemItemReply]

     // 追加间距对象UIBarButtonSystemItemFlexibleSpace

                     [self barButtonSystemItem:UIBarButtonSystemItemFlexi

 bleSpace]

                     [self barButtonSystemItem:UIBarButtonSystemItemCompose]

                     nil]];

这里为了让代码看起来更整齐,创建了一个新方法barButtonSystemItem:,只需要向此方法中传入系统按钮的常量就可以创建对应的系统按钮了,相关代码如下。

     -  (UIBarButtonItem*)barButtonSystemItem :(UIBarButtonSystemItem)

 systemItem {

        UIBarButtonItem* button =

          [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:systemItem

                                       target:nil

                                       action:nil] autorelease];

        return button;

      }

执行后,将显示如图3-25所示的效果。

如上述实例所示, UIBarButtonSystemItemFlexibleSpace 能自动调节按钮间的间距。

另外,不仅可以调整按钮间的间距,将其配置到左端(传递给setToolbarItems:方法的数组的第一个元素)时,可创建靠右的工具条按钮(见图3-26)。同时配置到左右端(数组的第一项及最后一项)时,将创建居中的工具条按钮(见图3-27)。
 

如果不想自动调整按钮间的间距,而是指定固定间距值时,使用UIBarButton SystemItemFixedSpace 。通过指定UIBarButtonSystemItemFixedSpace创建UIBarButtonItem实例,然后通过width属性指定宽度。以下是实例代码。

                // 指定  UIBarButtonSystemItemFixedSpace 创建UIBarButtonItem实例

                UIBarButtonItem*fixedSpace =  [self barButtonSystemItem:UIBarButton

           SystemItemFixedSpace];

                // 将宽度固定为35个像素

                fixedSpace.width = 35;

                // 以35个像素取代其中一个按钮

                 [self setToolbarItems:[NSArray arrayWithObjects:

                 [self barButtonSystemItem:UIBarButtonSystemItemAction],

                 [self barButtonSystemItem:UIBarButtonSystemItemFlexibleSpace],

                 [self barButtonSystemItem:UIBarButtonSystemItemBookmarks],

                 [self barButtonSystemItem:UIBarButtonSystemItemFlexibleSpace],

                    fixedSpace,

                   [self barButtonSystemItem:UIBarButtonSystemItemFlexibleSpace],

                   [self barButtonSystemItem:UIBarButtonSystemItemCompose],

                   nil]];

代码执行后,显示如图3-28所示的效果。UIBarButtonSystemItemFixedSpace主要用于有特定按钮显示/隐藏间切换需要的场合,通过它当按钮隐藏时不至于破坏工具条的外观。


 

 

 


 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站