【问题标题】:Twitter iOS App v5.3 UINavigationController Back ButtonTwitter iOS App v5.3 UINavigationController 返回按钮
【发布时间】:2013-01-29 17:59:55
【问题描述】:

在最近发布的 Twitter 应用更新中,文本已从后退按钮中移除并替换为箭头。它看起来非常漂亮和简单,但我无法弄清楚他们是如何做到的。

我尝试过使用 iOS 5 UI 自定义,但没有什么效果很好。如果我设置leftBarButtonItem,我可以让它工作,但这意味着我必须在每个视图控制器中执行它并编写我自己的操作来弹出视图控制器。有任何想法吗?提前致谢。

【问题讨论】:

    标签: iphone ios objective-c twitter sdk


    【解决方案1】:

    它是一个自定义导航栏和按钮项。添加此代码:

     UINavigationBar * bar =[[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
    [self.view addSubview:bar];
    
    //Back Button
    UIButton *btnback = [UIButton buttonWithType:UIButtonTypeCustom];
    [btnback setFrame:CGRectMake(0, 7, 54, 29)];
    [btnback setBackgroundImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
    //UILabel * btnlabel =  [[UILabel alloc]initWithFrame:CGRectMake(15, 0, 40, 23)];
    //btnlabel.backgroundColor = [UIColor clearColor];
    //btnlabel.textColor = [UIColor whiteColor];
    //btnlabel.font = [UIFont boldSystemFontOfSize:13];
    //btnlabel.text = @"back";
    //[btnback addSubview:btnlabel];
    //[btnlabel release];
    //btnlabel = nil;
    [btnback addTarget:self action:@selector(BackAction:) forControlEvents:UIControlEventTouchUpInside];
    [bar addSubview:btnback];
    [bar release];
    

    【讨论】:

      【解决方案2】:

      无需设置 backButton 或将其添加为 navigationController 的子视图。您只需要在 mainViewController 中设置返回按钮属性。喜欢

      UIBarButtonItem *backButton = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back", nil) style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease];
      
      buttonBack32 = [[UIImage imageNamed:@"back_button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 4)];
      
      buttonBack24 = [[UIImage imageNamed:@"back_button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 12, 0, 4)];
      
      [[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack32 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
      
      [[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack24 forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone];
      self.navigationItem.backButton = backButton;
      

      或者你可以按照这个教程http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5

      【讨论】:

        猜你喜欢
        • 2023-03-26
        • 2011-03-20
        • 1970-01-01
        • 1970-01-01
        • 2010-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多