Вы всегда можете пролистать подвиды панели навигации, отыскивая вид кнопки «Назад» и выбирая размер, когда найдете его. Некоторое время назад я написал в блоге итерации по подпредставлениям UIView, вот URL:
http://www.dosomethinghere.com/2011/07/09/logging-the-view-hierarchy/
Я использую класс InspectView, описанный в приведенном выше URL-адресе, в моем текущем приложении, и когда я вставил этот код в контроллер представления, имеющий кнопку возврата на панели навигации:
- (void)viewDidAppear:(BOOL)animated
{
[InspectView dumpViewToLog:self.navigationController.navigationBar findParent:NO];
}
Это результирующий вывод в консоли:
2011-09-20 09:11:19.599 MyApp[2070:207]
Inspect view hierarchy -----------------------------------
UINavigationBar (0x6626460): frame origin: (0, 20) size: (320, 44) [tag=0] UIView : UIResponder : NSObject :
. UILabel (0x6613f00): frame origin: (62, 0) size: (200, 44) [tag=0] UIView : UIResponder : NSObject :
. . UILabel (0x6628520): frame origin: (0, 19) size: (200, 20) [tag=0] UIView : UIResponder : NSObject :
. . UILabel (0x665eda0): frame origin: (0, -1) size: (200, 24) [tag=0] UIView : UIResponder : NSObject :
. UINavigationItemButtonView (0x662a5b0): frame origin: (5, 7) size: (49, 30) [tag=0] UINavigationItemView : UIView : UIResponder : NSObject :
End of view hierarchy -----------------------------------
UINavigationItemButtonView - это кнопка «назад», и вы можете видеть, что ее размер составляет 49 в ширину и 30 в высоту. Вы бы искали этот класс представления в своем приложении и помните размер.
Имейте в виду, что помещение этого кода в viewDidLoad или viewWillAppear будет показывать разные результаты.