ボタンを titleView として使用します。しかし、ボタンの高さを取得したいときは、 or を使用しself.button.frame.size.height
ないself.navigationItem.titleView.frame.size.height
と、常に 0 が返されます。他の値 (x、y、幅など) が妥当と思われる場合があります。
なんで?
In loadView
{
self.switchButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.switchButton setTitle:@"TapMe" forState:UIControlStateNormal];
self.navigationItem.titleView = self.switchButton;
[self.switchButton addTarget:self action:@selector(doSomeThing:) forControlEvents:UIControlEventTouchUpInside];
}
と
-(void)doSomeThing:(id)sender
{
NSLog(@"height%f", self.switchButton.frame.size.height);
}