像UINavigationbar按钮一样的Crumbtrail

时间:2011-09-15 10:27:08

标签: iphone cocoa-touch ipad uinavigationcontroller uinavigationbar

关于如何编写像uinavigationbar这样的crumb-trail的任何指针,以便每个级别的按钮像段控件一样坐在一起但是边框像后退按钮那样的箭头?

一张图片胜过千言万语,所以...就像在这个应用程序中一样 http://itunes.apple.com/us/app/the-american-swedish-institute/id436220929?ls=1&mt=8

因此  Approved app showing crumbtrail uinavigationbar

2 个答案:

答案 0 :(得分:0)

要实现上述想法,您必须修改导航栏的titleView。请访问this以获取有关如何在titleView中分配自定义视图的帮助。链接显示示例,如果搜索栏,但您可以在那里分配任何视图。

一旦你能够修改标题视图,你需要一个用于HOME按钮的图像和一个用于crumb-trail的图像。图像可以在UIImageView中加载。现在,当您设置框架UIImageView时,它将调整图像的大小。因此,根据您的数据,您可以将图像的高度保持为小于导航球的高度和宽度到一定的宽度。

按照此步骤将文本加载到图像中。

  1. 使用此代码获取UIImageView并在其中加载图像。

    UIImageView * img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@“Image.png”]];

  2. 选择UILabel并将其背景颜色设置为[UIColor clearColor]

  3. 使用此代码设置标签字体。

    cellText.font = [UIFont fontWithName:@"Arial-BoldMT" size:24.0f];

  4. 确定标签的宽度,如HERE

  5. 所示
  6. 为UIImageView指定相同的宽度,并在UIImageView中将UILable添加为subView。

  7. 以上步骤将帮助您制作类似的GUI。现在,只要你能做到这一点,你所要做的就是在titleView中重复添加或删除图像。

    毫无疑问,总代码会更复杂,也可能很难,但并非不可能。

答案 1 :(得分:-1)

你应该注意到Apple在iOS Human Interface Guidelines

中有这个说法
  

不要创建多段后退按钮。

     

example http://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Art/ui_navbarmultisegment.jpg

     

创建多段后退按钮(如上例所示)会导致一些问题:

     
      
  • 多段后退按钮的扩展宽度不会为当前屏幕的标题留出空间。
  •   
  • 无法对这样的多段按钮进行编程,以指示单个段的选定状态。
  •   
  • 分段越多,每个分段的命中区域越小,这使得用户很难点击特定分区。
  •   
  • 当用户在层次结构中深入导航时选择要显示的级别是有问题的。
  •   
     

如果您认为用户可能会丢失而没有显示一种痕迹路径的多段后退按钮,则可能意味着用户必须深入信息层次结构才能找到所需内容。要解决此问题,您应该扁平化您的信息层次结构。

我之所以提到这一点,是因为如果你想通过App Store销售你的应用程序,Apple会审核它是否符合这些指南。