Ram*_*sel 0 floating-point objective-c
我正在尝试调整帧数.我有两个常量定义为浮点数 - viewTotalHeightExpanded和viewTotalHeight.我正在减去这两个differenceY.
CGFloat differenceY = viewTotalHeightExpanded - viewTotalHeight;
NSLog(@"viewTotalHeightExpanded = %f", viewTotalHeightExpanded);
NSLog(@"viewTotalHeight = %f", viewTotalHeight);
NSLog(@"differenceY = %f", differenceY);
Run Code Online (Sandbox Code Playgroud)
日志显示:
2013-08-24 12:30:48.305 WS[25737:c07] viewTotalHeightExpanded = 406.000000
2013-08-24 12:30:48.305 WS[25737:c07] viewTotalHeight = 366.000000
2013-08-24 12:30:48.306 WS[25737:c07] differenceY = 680.000000
Run Code Online (Sandbox Code Playgroud)
为什么differenceY不是40?
编辑
这是怎么viewTotalHeight和viewTotalHeightExpanded定义:
#define likeBarHeight 20.0f
#define viewTotalHeight likeBarY+likeBarHeight+sortBarHeight
Run Code Online (Sandbox Code Playgroud)
所有其他链式常量如likeBarY和sortBarHeight被定义为类似的浮点数likeBarHeight.
这就是你正在做的事情:
CGFloat differenceY = viewTotalHeightExpanded - viewTotalHeight;
Run Code Online (Sandbox Code Playgroud)
因为viewTotalHeight像likeBarY + likeBarHeight + sortBarHeight转换为
CGFloat differenceY = viewTotalHeightExpanded -likeBarY+likeBarHeight+sortBarHeight
Run Code Online (Sandbox Code Playgroud)
试试这个:
CGFloat differenceY = (viewTotalHeightExpanded) - (viewTotalHeight);
Run Code Online (Sandbox Code Playgroud)
或者甚至可以更好地使viewTotalHeight可以在没有括号的情况下重复使用
#define viewTotalHeight (likeBarY+likeBarHeight+sortBarHeight)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |