问题标签 [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 回答
2560 浏览

iphone - UINavigationController 工具栏和设备方向(旋转)

所以我有这样一个嵌套设置的 iPhone 应用程序:[RootViewController]->[UITabBarController]->[UINavigationController]->[subViewControllers]。一切都是以编程方式构建的,而不是在 Interface Builder 中。

我只是想支持所有设备方向。我所有的 AutoResizing 蒙版都已设置好,一切都在必要时旋转和扩展/收缩。除了 NavigationController 的 navBar 和 Toolbar 之外的所有内容。(通常,这些视图会根据方向自动调整大小。即在横向中,导航栏和工具栏应自动调整为大约 32 像素,在纵向模式下为 44 像素。)特殊的是导航控制器的子视图正在调整大小,但是实际的导航栏和工具栏不是。换句话说,内容在任何方向上都会拉伸/收缩大约 12 px 左右,就好像导航栏和工具栏调整了大小一样。这似乎是自动调整大小的面具在做他们的工作。

因此,为了尝试解决这种情况,我为 UINavigationController 创建了一个响应“willRotateToInterfaceOrientation:duration:”的类别,以触发“sizeToFit”选择器。(这项技术来自 Stack Overflow 上的另一篇帖子,也有类似的问题。)在我的研究中,我发现只有最外层的视图控制器会收到此消息,所以我让我的根视图控制器在选项卡控制器上调用它,它反过来在导航控制器等上调用它。这解决了这个问题,现在我的嵌套视图控制器在外部视图旋转时得到通知。使用 sizeToFit 技术,导航栏和工具栏都可以自行调整大小。然而,这仍然留下了重新定位工具栏的问题,以弥补尺寸变化的偏移量。

在 willRotate 方法中执行此操作的棘手之处在于,我们无法知道新的边界视图尺寸是什么,也不知道我们当前的方向是什么。(除非您打开了 deviceOrientationNotifications,但我没有。)我们所要做的就是新的方向是什么,以及我们工具栏的当前帧值是什么。我可以对此进行硬编码并使用一张草稿纸以老式方式计算框架调整,但我真的想保留动态视图大小调整功能,而不会对设备的屏幕尺寸做出任何假设。

因此,使用下面的代码,我设法通过简单地将工具栏相对于它刚刚变成的大小“碰撞”工具栏 12 像素来解决这个问题。为了防止它在用户翻转设备时过度碰撞,我使用当前工具栏的框架高度来导出当前方向。(这意味着我仍然在假设工具栏的大小之前和之后,但我对此感觉更好,因为我可以在一定程度上影响它,而不是尝试以编程方式调整设备的物理屏幕大小。)

所以,现在我已经正确地表现了 NavigationBar 和 Toolbar。最终用户永远不会知道我必须实现所有这些额外的解决方法才能重新启用看起来应该是标准行为的东西。所以我的问题是,为什么我必须做这一切?有没有我应该知道的更好的方法,或者我在其他地方根本没有做的事情?(即 [navigationController setAutomaticallyResizesToolbarOnRotate:TRUE]; 或类似的东西?)就像我说的,这似乎应该是预先连接的,所以我不得不处理转发消息和强制触发器感觉就像一个过度设计的黑客而不是正确的解决方案。

谢谢!

0 投票
2 回答
1178 浏览

iphone - UIScrollView 旋转

我有一个滚动视图,它会自动生成一系列包含图像视图的子视图。这个概念是它几乎是一个自定义的 PDF 样式阅读器,其中每个页面都作为图像加载到 imageview 中。共有三个“层”——外部 UIScrollView、自动生成的 subViews 和 subview 内部的 imageview。

我的困境是,当这些子视图生成时,它们并没有真正的硬参考,所以在我的 didRotateFromInterfaceOrientation 中没有办法说调整这个特定视图的大小。

我创建了一个名为 setUpView 的函数,它初始化所有视图和图像:

在我的 loadView 方法中,我只是调用了这个函数。

有什么方法可以检测设备的当前方向,以便可以以某种方式输入到上述功能中?目前,在旋转时,outerview 旋转良好,但内部子视图和 imageviews 没有。

0 投票
1 回答
600 浏览

cocoa-touch - UINavigationBar 根视图不会旋转到横向

我有一个应用程序,其主菜单屏幕由几个按钮组成,这些按钮使用由 Web 视图组成的导航栏链接到其他视图控制器。

在包括根在内的每个视图控制器中,我都有以下自动旋转方法:

  • (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)x { return (x == UIInterfaceOrientationPortrait) || UIInterfaceOrientationIsLandscape(x); }

当我按下一个按钮并加载任何其他视图时,它们会很好地旋转到横向模式,如果我回击,我的主菜单会以横向模式加载。

但是,如果我只是尝试直接从主菜单进入横向模式,则什么也不会发生。我尝试了很多不同的方法来解决这个问题,但没有任何帮助。

任何帮助将不胜感激,我已经把头发拉了几天,试图让它工作!

0 投票
4 回答
658 浏览

iphone - 画廊上的自动旋转 - willAnimateRotation... 未被调用

我正在使用这个

我把它放在添加图像的地方:

我已经将这些覆盖放在 SlideShowViewController 中:

第一个被称为,但不是第二个。

我没有使用笔尖;它使用一个自定义初始化,它返回一个带有 3 个图像的 self.view。

我错过了什么吗?当用户旋转 iPhone 时,修改此脚本以使风景照片拉伸到全宽的最佳方法是什么?

编辑:刚刚尝试将 willAnimate... 添加到我的 NavigationController 的根视图控制器中,但它没有被调用。也许 NavigationController 是问题所在?在那种情况下,我应该把 willAnimate... 放在哪里?或者,我如何接收发送给它的消息并将其传递给可见的 viewController?

编辑 2:主题错误的原因是 TabBarController 缺少 IB 中的连接(我确定它在那里)。所以现在我的问题与其他一些类似的问题相同 - willAnimate... 在根 VC 中调用,但在推送的 VC 中没有调用。我使用的代码在画廊 VC 中淡出,而不是滑入,即。它没有被推送,但当前作为子视图添加到窗口 - 以填充整个显示。

关于如何向该子视图的控制器发送消息以设置框架的建议或替代解决方案将不胜感激!

0 投票
2 回答
1303 浏览

iphone - 使用 NSString 的 sizeWithFont 设置大小的旋转和 uilabels 的问题

我的视图中有一些 UILabel,它们的高度使用sizeWithFont:.

我将 autoreszingMask 设置为灵活的宽度和高度,但是在旋转宽度时会发生变化(我假设是因为 self.view 的宽度发生了变化,并且它的宽度设置为相对于 self.view 的宽度),但它的高度不会改变以适应内容再次。这会导致顶部和底部出现较大的空白区域。

只是想知道如何在旋转时重新调整 UILabel 的大小?sizeWithFont是否有任何自动方法可以做到这一点,或者有没有办法在设备旋转时获取所有 UILabel 并重新执行?

UILabel 是 UIView 层次结构的子视图,用作我的 UITableView 中部分的标题。

谢谢汤姆

0 投票
2 回答
2221 浏览

jquery - JQuery 旋转文本

我有一些需要旋转的文本,这就是我现在拥有的:

我的jQuery是这样的:

所以...... xxx 显示得很好,但后来它消失了,我看到所有其他 3,yyy,zzz 和 ooo 都重叠在一起,它没有一个一个地做,请帮我解决这个问题.

谢谢!

0 投票
1 回答
493 浏览

iphone - iphone自动旋转问题

我在我的应用程序中使用自定义标签栏(3 个标签)。每个选项卡都由导航控制器控制,如下所示。问题是在自动旋转方向时,根控制器上的每个自动旋转都很好,但子控制器(shouldAutorotateToInterfaceOrientation)没有响应。

0 投票
2 回答
687 浏览

android - 旋转 bmp 并正面朝上显示

我有一个应用程序可以拍摄图片并在 Imageview 上显示图片。问题是,我只能在横向模式下拍摄图片,以便 bmp 正面朝上显示 - 如果图片是纵向模式下拍摄的,有没有办法可以将其旋转到正面朝上/

谢谢!

这是我用来将图像放在 img 视图中的代码 -

有一个检测面孔按钮,可以检测是否存在面孔。

0 投票
1 回答
1408 浏览

uitabbarcontroller - 弹出框大小调整不规律

我在 UIPopoverController 中有一个 UITabBarController,我仅从一个 UIBarButtonItem 显示它。当显示时,我希望弹出框占据允许的最大垂直高度。如果我点击显示它,然后关闭,然后旋转,它工作正常。但是,如果我将弹出框显示为横向,然后旋转为纵向,它将不再填充整个垂直距离。我将标签栏控制器的内容大小属性设置为 320 x 1000,我什至尝试在每次设备旋转时重置它。更糟糕的是,当用户激活搜索栏时,弹出框会缩小得非常小,并一直保持这种状态,直到应用程序重新启动。

http://cl.ly/3JdChttp://cl.ly/3JdC

还有http://cl.ly/3JVF

我怎样才能阻止这种情况,并让弹出框始终填满最大垂直尺寸?

0 投票
2 回答
748 浏览

iphone - shouldAutorotateToInterfaceOrientation 和 UINavigationController

我有一个 UINavigationController,上面堆放了一堆视图控制器。并非所有视图控制器的方向都兼容。例如,我有一个横向视图,我将纵向视图放在上面。shouldAutoRotateToInterfaceOrientation 被调用询问风景,我返回 NO 但无论如何它都会进入风景。现在在这个视图中,如果我然后旋转到纵向,它会旋转并卡在那里(因为它应该开始)。但是当我弹出视图时,它下面的视图是横向的,现在是纵向的,这是不应该的!

WTF??????????????????

解决方法?建议?解决方案?任何事物?

iOS 4.1