【问题标题】:Custom UIBarButtonItem back button自定义 UIBarButtonItem 后退按钮
【发布时间】:2013-04-22 01:50:44
【问题描述】:

我需要自定义 UIBarButtonItem 后退按钮,使其显示为一个简单的箭头图标(如 Facebook、Twitter 等)。我是否需要创建一个自定义 UIBarButtonItem 并将其手动添加到导航栏,或者有没有办法通过外观 API 来做到这一点?

谢谢

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    你必须自己制作并添加它

    你可以这样做(这是用于使用图像的自定义按钮)

    UIImage* image3 = [UIImage imageNamed:@"favorites.png"];
        CGRect frameimg = CGRectMake(0, 0, image3.size.width, image3.size.height);
    
        UIButton *someButton2 = [[UIButton alloc] initWithFrame:frameimg];
        [someButton2 setBackgroundImage:image3 forState:UIControlStateNormal];
        [someButton2 addTarget:self action:@selector(loadFavorites)
              forControlEvents:UIControlEventTouchUpInside];
        [someButton2 setShowsTouchWhenHighlighted:YES];
    
        UIBarButtonItem *favoritesButton =[[UIBarButtonItem alloc] initWithCustomView:someButton2];
    
        self.navigationItem.rightBarButtonItems =[NSArray arrayWithObjects:favoritesButton, nil];
    

    【讨论】:

    • 另一种方法是按照上面所说的 waf 进行操作,但在视图控制器的 init 方法中将其设置为 self.navigationItem.backBarButtonItem。只要意识到这个属性(与rightBarButtonItem 不同)将为推送到您的视图控制器上的控制器设置样式,而rightBarButtonItem 在您的视图控制器中放置一个按钮。好处是你不需要检查你是否真的可以回去,导航控制器仍然会为你做。
    • @axiixc 听起来不错。我试过了,没有得到它的工作。如果您在此处发布您的解决方案作为编辑或新答案,将会很有帮助。
    【解决方案2】:

    好的,事实证明您实际上不能将backBarButtonItem 与使用自定义视图创建的UIBarButtonItem 一起使用。我能提供的最好的方法是您可以创建一个带有图像和空白背景图像的模板,尽管它感觉有点像 spacer.gif。我整理了一个简单的例子来说明我对视图控制器排序的意思。

    http://cl.ly/36091p0l0120

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 2010-11-23
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多