我在右侧添加了两个uibarbuttonitems,但它将标题视图推向左侧。
我希望titleview保持居中,如果太长则会截断
答案 0 :(得分:0)
以下方法可以做到这一点:保持居中 + 截断如果太长。
在左侧添加相同数量的固定空格(在您的情况下为2)。它可能要求您:
UIBarButtonItem
navigationItem.titleView
(您已经是):在左侧添加相同数量的UIBarButtonItem
和UIBarButtonSystemItemFixedSpace
。注意:要实现完美的居中,请使用 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;
});