【问题标题】:Shifting the text of UINavigationBar title left or right向左或向右移动 UINavigationBar 标题的文本
【发布时间】:2013-08-06 00:51:49
【问题描述】:

我希望能够控制标题在 UInavigationBar 中的位置。例如,现在我的标题居中,但对于某些视图,我需要将标题原点向左移动几个 px 左右。这可能吗?

谢谢!

【问题讨论】:

    标签: ios uinavigationbar


    【解决方案1】:

    您可以向导航项添加自定义 titleView,并在其中放置一个偏离中心的 UILabel 来保存您的标题。另一种更简单的方法可能是在标题末尾附加一个或两个空格字符,如果这样可以提供所需的位移量。

    【讨论】:

      【解决方案2】:

      你的代码在这里

      - (void) customNavBarTitleWithText:(NSString *) text andFontsize:(float) fontsize
      {
          // Custom nav bar back button
          UIImage *img = [UIImage imageNamed:@"back_btn.png"];
          UIButton *backbtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, img.size.width, img.size.height)];
          [backbtn setImage:img forState:UIControlStateNormal];
          [backbtn addTarget:self action:@selector(backBtnClicked) forControlEvents:UIControlEventTouchUpInside];
          UIBarButtonItem *backBarBtn = [[UIBarButtonItem alloc] initWithCustomView:backbtn];
          [self.navigationItem setLeftBarButtonItem:backBarBtn];
      
          //Custom nav bar title
          UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
          label.backgroundColor = [UIColor clearColor];
          label.font = [UIFont boldSystemFontOfSize:fontsize];
          label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
          label.textAlignment = NSTextAlignmentCenter;
      
          // Use UITextAlignmentCenter for older SDKs.
          label.textColor = [UIColor whiteColor]; // change this color
          self.navigationItem.titleView = label;
          label.text = text;
          label.lineBreakMode = NSLineBreakByWordWrapping;
          label.numberOfLines = 0;
          [label sizeToFit];
      
          // Set nav bar background image
          [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"top_bar_bg.png"] forBarMetrics:UIBarMetricsDefault];
        }
      

      在那里:

       label.textAlignment = NSTextAlignmentCenter;
      

      您可以使用其他模式:NSTextAlignmentLeft、NSTextAlignmentRight、NSTextAlignmentJustified 等。

      希望它对你有用!

      【讨论】:

        猜你喜欢
        • 2022-08-23
        • 2021-11-16
        • 1970-01-01
        • 1970-01-01
        • 2022-11-25
        • 1970-01-01
        • 2012-02-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多