1

我使用宏来区分版本,但我无法强制它正常工作。我用了:

#ifdef _IPHONE_4_0
  [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
 #else
  [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
 #endif

#if __IPHONE_OS_VERSION_MAX_ALLOWED < _IPHONE_4_0
  [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
 #else
  [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
 #endif

#if defined(__IPHONE_4_0)
  [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
 #else
  [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
 #endif

无论我使用什么版本 - 总是只调用其中一行。并且始终定义 __IPHONE_4_0。有任何想法吗?

最好的问候, 德米特里 M。

4

2 回答 2

2
于 2010-07-31T07:40:45.877 回答
-1

一个小小的改变——

以下代码应该可以工作:

 #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_4_0   
       [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES]; 
 #else   
       [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
 #endif

请注意它是 __IPHONE_4_0 而不是 _IPHONE_4_0

于 2010-11-15T06:07:21.397 回答