如何计算最佳titleview的宽度是多少?
题
我使用与成为我titleview的自定义UIView
子类导航。我想确保这是完整的可用宽度。
在逻辑上从我UIViewController
的viewWillAppear:
,这应该是:
CGFloat width = self.width - self.navigationItem.leftBarButtonItem.width - someConstant;
(I没有权项此处。)
这将适应,那么,对于leftBarButtonItem
的不同的可能的宽度。美中不足的是,leftBarButtonItem
是nil
,所以leftBarButtonItem.width
始终为0(好,在模拟器反正)。
backBarButtonItem
也是零。
什么我应该不是做?
解决方案
我通过执行以下操作黑客攻击这样的:
int vcStackSize = [[self.navigationController viewControllers] count];
WEViewController* previousController = [[self.navigationController viewControllers] objectAtIndex:vcStackSize - 2];
NSString* previousTitle = [previousController title];
UIFont* font = [UIFont boldSystemFontOfSize:12];
lw = [previousTitle sizeWithFont:font].width + 26;
讨厌的,但它的工作原理
不隶属于 StackOverflow