Tag: 方向

UITabBarController / UINavigationController旋转问题

我的问题是以下几点:我只想允许所有ViewController的纵向方向,除了1个ViewController,它应该允许纵向和横向左/右。 现在我已经花费了将近2天的时间来为iOS设置不同的幻灯片/ ViewController的方向。 经过一番search,我发现这个线程在堆栈: UITabBarController旋转问题在iOS 6 我遵循了Kunani在这个主题中的例子,我将在这里贴出来保存所有的读者: 扎克,我遇到了同样的问题。 这是因为你的viewControllerembedded在TabBar控制器或UINavigationController内部,而这些方法的调用发生在那些内部,而不是正常的视图(在iOS6中改变)。 我遇到了这个问题,因为我在一个UINavigationController中embedded了一个viewController,这个viewController在所有的导航到不同视图(注册过程,login等等)的模态视图中。 我简单的修复就是为UINavigationController创build一个包含这两个方法的CATEGORY。 我已经应该说,不pipe怎么说,因为我不想让我的模态视图旋转。 你的修复可能是这个简单的,试试看吧。 希望能帮助到你。 我创build了一个类别并将其命名为autoRotate并select了UINavigationController选项。 下面是M + H文件。 #import "UINavigationController+autoRotate.h" @implementation UINavigationController (autoRotate) -(BOOL)shouldAutorotate { return NO; } – (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; } @end …和类别.h: #import <UIKit/UIKit.h> @interface UINavigationController (autoRotate) -(BOOL)shouldAutorotate; – (NSUInteger)supportedInterfaceOrientations; @end 我做了他所说的,并尝试设置类别为我的UITabBarController工作,所有连接到TabBar的类现在只允许orientationPortrait。 但是,如果你看看下面的图片 (从我的项目截图)有一个名为ShowTaskView的StoryBoard中间有一个类。 这个类通过UINavigationController连接到大多数类(它们直接连接到UITabBarController)。 即使我设置UITabBarController只允许肖像也ShowTaskView似乎受该规则的影响,我不能让它旋转。 我的项目中的scheme也可以这样描述: TabBarController —-> UINavigationController ——-> […]

iPhone定位pipe理:什么是最有效的方法?

我需要开发一个iPad应用程序,它应该pipe理两种方向模式(横向和纵向)。 根据官方的Apple iOS文档 ,有两种方法可以进行。 第一个是在收到旋转事件时调整视图元素。 主要优点是我们只有一个ViewController – 第二个是为每个方向显示一个特定的ViewController。 所以我们有2个ViewController。 第二种方法似乎很好,但是恐怕会需要ViewController的数量。 更重要的是,ViewControllers中的“数据同步逻辑”必须被复制(或从ViewController中分离出来)才能在两个方向上使用。 我需要开发的应用程序将包含许多“完整的自定义元素”和许多ViewController。 如果任何人有build议或经验的反馈,将非常感激;) 谢谢阅读 !

UIView忽略方向或坚持底部的容器

我想在纵向模式下在屏幕的底部显示UIView,所以当一个手机旋转和水平方向将重新定位/调整所有子视图,那一个UIView将保持原来的位置,具有相同的大小和原始位置(即在水平方向的右端,如果它在肖像模式的底部)。 有没有一个好的方法来做到这一点?

如何在swift中使用MapKit自定义userLocationAnnotationView图像?

我试图find一种方法来显示使用MapKit的用户在地图上的方向。 本地MapKit的方式,总是旋转整个地图。 由于用户的位置也是一个MKAnnotationView,我决定创build一个特定的类来覆盖它,并使用特定的图像(带箭头)。 class UserLocationAnnotationView: MKAnnotationView { override init(frame: CGRect) { super.init(frame: frame) } override init(annotation: MKAnnotation!, reuseIdentifier: String!) { super.init(annotation: annotation, reuseIdentifier: reuseIdentifier) var frame = self.frame frame.size = CGSizeMake(130, 130) self.frame = frame self.backgroundColor = UIColor.clearColor() self.centerOffset = CGPointMake(-30, -50) } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder)! } /* // Only override […]

在UIViewController中pipe理方向的说明

我有一个像下面这样的configuration: UINavigationController -> ViewController 其中ViewController是导航控制器的根视图控制器。 ViewController可以模态地呈现另一个视图控制器ModalViewController ,如下所示。 self.presentViewController(modalViewController, animated: true, completion: nil) 在ModalViewController我重写了下面的方法。 事实上,模态视图控制器只能以Landscape模式显示。 override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { return .Landscape } 然后我重写ViewController的响应方向更改的方法。 override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) { super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator) print("Size is \(size)") } 我注意到,如果提供了模式视图控制器, ViewController的print仅在ModalViewController处于Landscape模式时才被logging,而未在Portraitlogging。 换句话说,当我旋转设备时, ModalViewController应该只能显示Landscape方向。 在引擎盖下,即使ViewController不可见(并且设备在Portrait ),该控制器也应该能够响应尺寸变化。 事实并非如此,因为我看不到print日志。 用例: 如果ModalViewController不可见,这是打印日志 Size is (1024.0, 768.0) Size is (768.0, […]

iOS 8 – 以横向模式启动应用程序

我的iPad应用程序支持所有的方向,它也在iOS 7中运行良好。 但是,在iOS 8中 ,以横向模式启动应用程序使我的login视图在纵向框架内绘制横向视图。 在做了一些分析之后,我发现应用程序窗口在Landscape中启动时没有采取正确的方向。 之后做旋转更正了用户界面,因为它从那个点开始采取了正确的方向。 有人能够引导我通过这个? 提前致谢。

Google路线API无法在iOS中返回结果

我正在尝试使用Google Directions API。 我有SDK的所有设置。 我已经在开发人员控制台中的“服务”下启用了适用于iOS的Google地图SDK 。 以下是我为获取路线所build立的url。 开发者控制台中有两种types的键。 首先,我尝试了iOS应用程序的关键。 https://maps.googleapis.com/maps/api/directions/json?origin=-37.814107,144.96328&destination=-31.953004,115.857469&key=<Key for iOS apps> 但是我得到了错误这个IP,网站或者移动应用程序没有被授权使用这个API密钥 。 当我search这个错误的解决scheme时,我在几个StackOverflow答案( 1,2 )中看到iOS密钥不受支持。 在答案中他们谈论的是Google Places API,但是我认为这可能与Directions相同,因为错误是一样的。 因此,我用Keyreplace了iOS应用程序的Key for browser应用程序 ,然后再次运行它,但是出现了一个新错误。 此API项目未被授权使用此API。 请确保在API控制台中激活此API 。 我的问题是,是否有任何其他的API,我必须在服务中激活,以得到这个工作? 这些是与列表中的其他Google地图相关的Google API。

识别MKRoutestep何时完成

我正在尝试在iOS中使用MKDirections API实现轮到导航系统。 我能够获取路线的方向,并可以在地图上绘制多段线,当导航开始时,应用程序将使用Steps数组中的MKRouteStep对象开始显示指令。 现在的问题是 ,由于MKRouteStep对象中的距离是用户在遍历步骤path时覆盖的距离,我无法确定如何计算此距离。 有什么办法来计算这个距离 ? 目前我正在计算两个坐标之间的距离 ,即显示最后一条指令时的坐标和用户的当前位置,如果这个距离等于MKRouteStep中提到的距离,我正在显示下一条指令,由于这个指令延迟了指令交付给用户。 如果有任何方法来确定这个MKRouteStep结束的坐标或区域,我可以计算出用户是否在该区域,然后显示下一条指令。 可能是这个可以工作你的想法是什么,但是我怎么知道这个MKRouteStep从MKRouteStep的多段线数组中结束的坐标或区域? 请build议是否有任何其他良好的解决scheme。 任何帮助,高度赞赏。 谢谢。

如何在iOS 7和iOS 8中locking设备方向

我的应用程序有问题。 我无法locking我的应用程序的方向。 我只需要将一个视图控制器locking到横向模式,其余的都是纵向模式。 这是我的应用程序的层次结构。 *Navigation Controller *TabBarController *ViewControllers

IOS -webkit-overflow-scrolling在错误的轴上滚动,或根本不滚动

我正在用html5构buildIOS的移动应用程序。 我正在使用“-webkit-overflow-scrolling:touch”来获得原生的惯性滚动,但是它很麻烦。 我已经解决了内容不滚动,直到滚动停止的问题,但一个持续性的错误是这样的: 当我尝试上下滚动时,没有任何反应,但当我尝试水平滚动时,内容会垂直滚动(离轴90度)。 如果我浏览我的应用程序并回到页面,它有时会被修复。 另外,尽pipe内容丰富,但有时它根本不会滚动。 从我所search的内容来看,似乎苹果已经意识到了这个漏洞,并且不打算立即修复它。 有没有人find一个解决scheme来让-webkit溢出滚动正常工作?