右uiBarButtonItems将我的标题视图推向左侧

时间:2014-07-11 12:32:27

标签: ios ios7 uinavigationbar uibarbuttonitem

我在右侧添加了两个uibarbuttonitems,但它将标题视图推向左侧。

我希望titleview保持居中,如果太长则会截断

1 个答案:

答案 0 :(得分:0)

以下方法可以做到这一点:保持居中 + 截断如果太长。

在左侧添加相同数量的固定空格(在您的情况下为2)。它可能要求您:

  1. 替换最左边的UIBarButtonItem
  2. 使用navigationItem.titleView(您已经是):在左侧添加相同数量的UIBarButtonItemUIBarButtonSystemItemFixedSpace
  3. 注意:要实现完美的居中,请使用 21.5 的宽度严格, 22.0 保守:

    // Adding invisible spaces to the left
    UIBarButtonItem * space = [[UIBarButtonItem alloc]
        initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
        target:nil action:nil];
    space.width = 21.5; // Exact match
    [self.navigationItem setLeftBarButtonItems:@[space,space]];
    

    仅供参考,标题视图应如下所示:

    self.navigationItem.titleView = ({
        UILabel * titleView = [[UILabel alloc]
            initWithFrame:CGRectMake(0, 0, 200, 20)];
        [titleView setTextAlignment:NSTextAlignmentCenter];
    
        titleView;
    });