问题标签 [autorotate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
483 浏览

iphone - 多次旋转后我的应用程序崩溃

当我尝试旋转它多次时,我的应用程序崩溃了。我一开始以为它只是 iPhone 模拟器,所以我将应用程序加载到 iPod touch 上,连续旋转较少后它就崩溃了。我怀疑这是我的一种旋转方法中的内存泄漏。我唯一能认为导致崩溃的地方是willRotateToInterfaceOrientation:duration:. 我添加/扩展的唯一两种与旋转相关的方法是shouldAutorotateToInterfaceOrientation:andwillRotateToInterfaceOrientation:duration我不认为这是第一种,因为它只包含两个词:return YES;. 这是我的willRotateToInterfaceOrientation:duration:方法,因此您可以查看它并查看可能的内存泄漏在哪里。

yearByYear 是 aUITextView而 theview 是 a UIScrollView

0 投票
3 回答
3946 浏览

iphone - shouldAutorotateToInterfaceOrientation 在全新应用安装后首次启动时不起作用

当我正在开发的应用程序通过 iTunes 通过 Ad-Hoc 安装或直接构建到设备时,第一次启动时,我的应用程序中唯一响应方向变化的视图控制器不会收到调用shouldAutorotateToInterfaceOrientation:with传入的景观参数;调试表明它只被称为肖像。每次后续启动的行为都符合我的预期——也就是说,有对shouldAutorotateToInterfaceOrientation:横向和纵向参数的调用。在 iPhone 模拟器、iPhone 和 iPod touch 上可以看到这种确切的行为。

所以我的问题是:为什么第一次启动应用程序的方向通知会不同于每次后续启动的方向通知?我是否误以为我无法控制除了响应之外的方向变化shouldAutorotateToInterfaceOrientation:

在有问题的 ViewController 内部:

在里面,viewDidLoadviewDidUnload有(分别):

2010 年 7 月 6 日更新:

仍然没有运气解决问题。我暂时放弃了这个问题,然后又回到了这个问题上,但在完全不同的情况下仍然看到了这个问题。任何人?

2010 年 7 月 13 日更新:

从 Apple 的View Controller Programming Guide

“...窗口对象完成了与更改当前方向相关的大部分工作。[...] 具体来说,它与根视图最近添加到窗口或在窗口中呈现的视图控制器一起工作。在其他方面换句话说,窗口对象仅适用于显示视图的最前面的视图控制器......”

与每次后续启动相比,我在第一次启动时将根视图控制器添加到窗口的方式不同,所以我认为这可能与此有关。不过,我还没有追溯到这里……只是一个想法。

在本次更新时,这件事已经获得了大约 175 次浏览……甚至没有人提出最遥远的晦涩建议?来吧,把东西扔出去。在这一点上,我愿意接受任何猜测或建议。我不在乎它是否愚蠢地晦涩难懂或可能无关紧要。

0 投票
1 回答
660 浏览

iphone - 有选择地允许在 TabBar / UINavigation 应用程序中自动旋转

我有一个 UITabBar/UINavigation 应用程序,在给定视图中允许自动旋转时遇到了一些问题。

TabBar 允许使用表格视图项目更改部分。当其中一个项目被点击时,我推送一个隐藏 TabBar 并且应该自动旋转的新视图。我尝试了最简单的方法,这对我来说似乎最合乎逻辑:在 rootViewController 中禁用自动旋转并在 detailViewController 中允许,但这不起作用(shouldAutorotateToInterfaceOrientation 返回 YES,但是 willRotateToInterfaceOrientation 永远不会被调用并且视图不会自动旋转)。我读到 TabBar 中的所有 VC 都应该向 shouldAutorotateToInterfaceOrientation 返回 YES,所以我这样做了,但结果是现在我的整个应用程序都在旋转。

然后我将我的 UINavigationController 子类化并将 shouldAutorotate 设置为 NO,希望我可以检测到所显示的视图何时实际上是 detailView,然后返回 YES……我似乎无法做到这一点。

有什么帮助吗?

谢谢!

安东尼奥

0 投票
2 回答
952 浏览

iphone - iPhone旋转导致内存警告

我正在向我的应用程序引入自动旋转,但我遇到了内存警告问题。无论我以何种方向启动我的应用程序,只要设备保持在该方向,我就不会收到内存警告。但是,当我第一次旋转设备时,控制台上会出现以下警告: Safari 收到内存级别警告,杀死除活动之外的所有文档。当这种情况发生时,除了被查看的视图控制器之外的所有视图控制器都被卸载 - 当导航回通常应该已经在堆栈上的视图控制器时,这会产生意外的行为。该应用程序永远不会崩溃,并且此警告在第一次旋转时发生一次,之后它就永远不会发生(直到我再次停止/启动该应用程序)。此外,这只发生在设备上 - 在模拟器中运行时没有内存警告。

有没有人见过这种行为?无论如何,有没有人对我可以尝试什么以消除内存警告有任何建议。

提前致谢。

0 投票
3 回答
2176 浏览

iphone - iphone自转动画

是否可以关闭自动旋转的动画?我希望它旋转,但我只是不希望动画发生(如即时切换)。

0 投票
1 回答
2366 浏览

iphone - “Hello World”iPhone 应用程序不会自动旋转

好的,知识渊博的程序员类型,请温柔...

我无法让一个非常简单的单视图“Hello World”应用程序自动旋转。我经历了通常的“Hello World”步骤:

  • 创建一个新的基于视图的项目。
  • 双击 ViewController 的 .xib 文件。
  • 从库中添加一个项目。我试过标签和滑块。
  • 将 Struts 和 Springs 更改为仅 Springs 以将项目保持在视图的中间。
  • 保存并编辑 ViewController 的 .m 文件,使其显示为:
  • (嗯... Duh。我刚看到它。但我会继续我的故事以供您娱乐。)

  • 保存、构建、运行、旋转,并注意到当我旋转 iPhone 模拟器时没有任何旋转。而且,不,我没有旋转我的笔记本电脑……我使用了键盘快捷键!

    在谷歌搜索大约一个小时后,沮丧开始了。在我所见之处,每个消息来源都说同样的话:只需将返回值更改为“是”即可。但是...

    我什至将调试器断点插入!他们都没有被击中!(震惊,惊讶!)我不知道如何使用调试器,我在“initWithNibName”上设置了一个断点。你猜怎么了?!那也没有被击中!有没有搞错?!

    所以我下载了 Apple 的 WhichWayIsUp 应用程序来测试我的断点 l33t 断点技能。果然,当我旋转“iPhone”时它会发出哔哔声。那我做错了什么?!

    当然,我并没有那么无知,我……不,等等,我收回那句话。如果你看到我上面的错误,那么你肯定会想,“是的,他就是那么无知。” 你是对的。

    对于那些偶然发现这个问题,同样感到沮丧并且还没有看到问题的人,这里是答案:整个shouldAutorotateToInterfaceOrientation方法由“/* */”注释标记封装。它从来没有被编译过,更不用说被调用了。

    现在,据我所知,我发现的任何来源都没有表明您必须确保代码块未注释。一些人说,“你所要做的就是改变一行代码。” 而且,除了那些上面有评论标记的另外两个之外,它们是完全正确的。

    如果我只是帮助了其他一些 n00b,那就太好了。如果我让你嘲笑我的失败,那就更好了。

    谢谢大家,你们的帮助!

  • 0 投票
    1 回答
    722 浏览

    iphone - UINavigation 控制器和自动旋转

    我正在使用 UINavigationController 来推送和弹出视图。导航栏被隐藏。

    我有 RootViewController,它设置为自动旋转。当它可见时它工作得很好。我也有 GalleryViewController。它通过返回 no 来禁用自动旋转。


    我的问题是,当 GalleryViewController 在导航堆栈上时,RootViewController 停止响应它的自动旋转事件。


    如果我处于纵向模式,并且我旋转设备(在查看 GalleryViewController 时)然后点击后退按钮,它会将 GalleryViewController 从堆栈中弹出并显示 RootViewController,但 RootViewController 并没有按应有的方式更改旋转。

    我坚持使用 -viewWillAppear 方法并检查 UIDevice 方向的状态。它为我提供了设备的正确方向。

    顺便说一句,我还尝试在 GalleryViewController 中启用自动旋转。然后它正确地旋转视图,但仍然不旋转 RootViewController。


    似乎在使用导航控制器时,只有堆栈的顶部会旋转。


    问题:由于设备在调用 -viewWillAppear 时知道它处于正确的旋转状态,我可以强制它以某种方式更新吗?

    -标记

    0 投票
    4 回答
    4628 浏览

    iphone - 自动旋转和多个视图控制器

    我正在创建一个 iPad 应用程序,它只能在纵向和纵向倒置模式下工作。由于 applicationDidFinishLaunching 方法中的性能原因,我创建了几个 viewController,并将它们作为子视图添加到我的主窗口中。然后,我将不想立即看到的隐藏起来。没有标签栏或导航控制器。

    我的问题是只有第一个 viewController 似乎正在接收旋转调用。我已经通过交换将子视图添加到主窗口和 NSLog 的顺序来验证这一点。有什么方法可以强制所有控制器接听电话吗?

    我的一些视图被设计为覆盖在另一个视图的顶部,但是这个后面的视图并不总是相同的——所以将覆盖视图放在一个单独的视图控制器中似乎是有意义的。我是否在做一些根本错误的事情,这就是为什么它的行为不像我预期的那样?

    编辑:这个问题的公认答案似乎表明我面临的确切问题:UIViewController rotate methods

    编辑2:另一个确认只有“主”视图控制器将接收旋转事件的问题。我真的需要将所有代码放入一个具有多个视图的视图控制器中吗?一次在屏幕上显示多个视图控制器?

    0 投票
    1 回答
    1427 浏览

    iphone - UIWebView 里面以编程方式创建的 UIView。如何自动旋转它?

    在我的应用程序中,当用户从 UITableView 中选择一个单元格时,我以编程方式创建一个 UIView,将其添加到窗口对象,然后创建一个 UIWebView 和一个 UIButton,并将它们作为子视图添加到我创建的该视图中。

    myView = 以编程方式创建的视图

    webView = 作为 myView 子视图的 UIWebView

    button = UIButton,它是 myView 的子视图,只是显示在 WebView 顶部的“关闭”按钮

    问题是当用户将他/她的手机旋转到横向时,如何使以编程方式创建的视图自动旋转(当然,webview 也应该自动旋转,以便用户可以更好地阅读网页)?

    0 投票
    1 回答
    999 浏览

    iphone - UITabBarController 和模式视图的自动旋转问题

    我在打开和关闭 ModalView 时遇到问题:当用户触摸按钮打开视图或触摸按钮关闭视图时,控制台中会出现此消息:

    对于所有界面方向,视图控制器从 _shouldAutorotateToInterfaceOrientation: 返回 NO。它应该支持至少一个方向。

    ModalView 与 UITableViewController 相关联,包含在 UINavigationController 中,而 UINavigationController 又插入到 UITabBarController 中。我不明白如何解决这个问题。