0

フレームを調整しようとしています。viewTotalHeightExpandedfloatととして定義された 2 つの定数がありviewTotalHeightます。を得るために 2 つを引いていますdifferenceY

  CGFloat differenceY = viewTotalHeightExpanded - viewTotalHeight;
  NSLog(@"viewTotalHeightExpanded = %f", viewTotalHeightExpanded);
  NSLog(@"viewTotalHeight = %f", viewTotalHeight);
  NSLog(@"differenceY = %f", differenceY);

ログには次のように書かれています。

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

なぜdifferenceY40ではないのですか?

編集

viewTotalHeightとは次のようviewTotalHeightExpandedに定義されます。

#define likeBarHeight 20.0f
#define viewTotalHeight likeBarY+likeBarHeight+sortBarHeight

likeBarYやなどの他のすべての連鎖定数は、とsortBarHeight同様に float として定義されlikeBarHeightます。

4

1 に答える 1

5

これはあなたがしていることです:

CGFloat differenceY = viewTotalHeightExpanded - viewTotalHeight;

これは、viewTotalHeight が likeBarY+likeBarHeight+sortBarHeight に変換されるためです。

CGFloat differenceY = viewTotalHeightExpanded -likeBarY+likeBarHeight+sortBarHeight

だからこれを試してください:

 CGFloat differenceY = (viewTotalHeightExpanded) - (viewTotalHeight);

または、括弧なしで viewTotalHeight を再利用可能にする方が良いかもしれません

#define viewTotalHeight (likeBarY+likeBarHeight+sortBarHeight)
于 2013-08-24T19:48:43.733 に答える