我想检查 a 的标题是否UINavigationItem
被截断。
我这样设置标题:self.navigationItem.title = whatever
.
我知道我可以检查 a 中的文本UILabel
是否像这样被截断:
CGSize size = [label.text sizeWithFont:[UIFont fontWithName:@"myfont" size:18.0]];
if (size.width > label.bounds.size.width) {
// set a shorter title
}
我什至可以找到UINavigationItemView
显示标题的对象,如下所示:
UIView *navItemView;
for (UIView *view in self.navigationController.navigationBar.subviews) {
if ([view isKindOfClass:NSClassFromString(@"UINavigationItemView")]) {
navItemView = view;
}
}
但我不能将此方法应用于navItemView
因为它的宽度似乎总是正好 58,这比其中的标题要小得多,所以据此看来,标题似乎被截断了,即使它不是.
所以,我的问题归结为:如何找到标题中显示的宽度UINavigationItem
?
更新:我找到了解决我的问题的方法,但它并不完全理想、完美或可靠,所以我还没有将其标记为答案。如果有人有更好的解决方案,请分享。