我注意到Objective-C减法中的一个奇怪的事情:
我有一个定义的导航栏高度:
#define NAVIGATION_BAR_HEIGHT self.navigationController.navigationBar.frame.size.height + 20.0f
我还有一个简单的减法:
NSLog(@"%f - %f = %f", self.parentViewController.view.frame.size.height, NAVIGATION_BAR_HEIGHT, self.parentViewController.view.frame.size.height - NAVIGATION_BAR_HEIGHT);
此次通话的控制台输出:
768.000000 - 64.000000 = 744.000000
这到底是怎么回事?
答案 0 :(得分:4)
请始终使用#define
#define NAVIGATION_BAR_HEIGHT (self.navigationController.navigationBar.frame.size.height + 20.0f)
答案 1 :(得分:0)
将您的行更改为,
NSLog(@"%f - %f = %f", self.parentViewController.view.frame.size.height, NAVIGATION_BAR_HEIGHT, self.parentViewController.view.frame.size.height - (NAVIGATION_BAR_HEIGHT));
将NAVIGATION_BAR_HEIGHT
放入大括号()。