iPhone 4.0 兼容性问题

发布于 2024-09-11 02:07:56 字数 510 浏览 5 评论 0原文

我开发了一款iPhone应用程序,该应用程序在iPhone 3.0中运行良好。

当我与 4.0 进行比较时,它提供了一些已弃用的工作。

请找到下面的代码......

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];

注意:这在 3.0 中工作正常,但在 4.0 中给出警告

[[UIApplication sharedApplication] setStatusBarHidden:YES
                                        withAnimation:UIStatusBarStyleDefault];

注意:这在 4.0 中工作正常,但在 3.0 中根本不起作用。

我的编码部分即将完成,我需要尽快发布此应用程序。

请帮我解决这个问题。

提前致谢。

I am developed one iPhone application which is working good in iphone 3.0.

While i am doing comparability with 4.0 it is giving some deprecated workings.

Please find the code below.....

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];

Note: this is working fine in 3.0 but giving warning in 4.0

[[UIApplication sharedApplication] setStatusBarHidden:YES
                                        withAnimation:UIStatusBarStyleDefault];

Note: this is working fine in 4.0 but not at all working in 3.0.

My coding part almost completed, I need to publish this application ASAP.

Please help me out in this issue.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瀞厅☆埖开 2024-09-18 02:07:56

您有两个主要选项:

  1. 如果您在 4.0 中使用 setStatusBarHidden:animated:,它将起作用。它已被弃用,这意味着您应该避免使用它,但它仍然可以工作 - 目前

  2. 在运行时检查哪一个是最佳选项:

if ([UIApplication instancesRespondToSelector:@selector(setStatusBarHidden:withAnimation:)]) {
    // use 4.0 method
} else {
    // use 3.0 method
}

You have two main options:

  1. if you use setStatusBarHidden:animated: in 4.0, it will work. It's deprecated, which means you should avoid it, but it will still work — for now.

  2. Check at runtime which one is the best option:

if ([UIApplication instancesRespondToSelector:@selector(setStatusBarHidden:withAnimation:)]) {
    // use 4.0 method
} else {
    // use 3.0 method
}
怎会甘心 2024-09-18 02:07:56

处理此类问题的最流行方法是使用“instancesRespondToSelector”方法来检查您正在运行的版本。也可以使用预编译器指令,但内省是 Apple 推荐的方式。

因此,检查 UIApplication 对象是否响应 setStatusBarHidden:withAnimation 选择器,并执行 4.0 代码,否则调用 3.0 代码。

The poper way of handling such issues is using the ‘instancesRespondToSelector‘ method to check out which version you are running on. There is a possibility to use also a pre compiler directive, but introspection is the way Apple recommends.

So check if the UIApplication object responds to the setStatusBarHidden:withAnimation selector Nd execute the 4.0 code otherwise call the 3.0 code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文