相关疑难解决方法(0)

禁用方向更改旋转动画

我需要禁用方向更改时播放的动画.这可能吗?如果没有,是否可以加快速度?

只是为了澄清,我不想停止方向改变,只是动画.我希望立即改变方向.

iphone animation objective-c orientation ios

25
推荐指数
4
解决办法
2万
查看次数

子视图控制器旋转而父视图控制器不旋转

我想做什么:

由父视图控制器管理的父视图不应该旋转.

由子视图控制器管理的子视图应该旋转到所有方向.


在此输入图像描述

在此输入图像描述


我试过的:

ParentViewController

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return .Portrait
}

override func shouldAutorotate() -> Bool {
    return true
}

fun addChildViewController() {
    let storyBoard = UIStoryboard(name: "Main", bundle: nil)
    self.childViewController = storyBoard("Child View Controller") as? ChildViewController
    self .addChildViewController(self.childViewController!)
    self.childViewController! .didMoveToParentViewController(self)
    self.view .addSubview(self.childViewController!.view)
    self.childViewController!.view.frame = CGRectMake (40, 200, 400, 250)
}
Run Code Online (Sandbox Code Playgroud)

ChildViewController

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return  .All
}

override func shouldAutorotate() -> Bool {
    return true
}
Run Code Online (Sandbox Code Playgroud)

Xcode部署信息中支持的方向设置为全部四个.

我得到了什么:

没有View的旋转.如果我将父级的旋转设置为all,则所有视图一起旋转.所以它是全有或全无. …

xcode uiviewcontroller landscape-portrait childviewcontroller swift

24
推荐指数
2
解决办法
5803
查看次数

如何将触摸事件从UIView传递到它下面的UIView?

一个简单的问题,但我无法找到它的解决方案:

我有2个UIViews,在同一个父视图中一个在另一个之上.两者都有GestureRecognizers,但只有最顶级的是接收事件.如何让最顶层的视图通过他获取到其下面的其他UIViews的所有手势?

iphone cocoa-touch objective-c ipad ios

6
推荐指数
1
解决办法
2608
查看次数

从自动旋转动画中排除UIView

TL; DR

需要保持自转,但排除一个UIView在方向改变时自动旋转,如何?

背景故事

我需要在动画期间保持UIView静止,伴随着自转(在方向改变时发生).类似于iOS相机应用程序处理旋转的方式(即控件在其位置旋转).

我尝试过的事情

  • 返回falseshouldAutorotate(),订阅UIDeviceOrientationDidChangeNotification,并试图分开手动处理对于每个视图旋转事件.

    如果您不需要更改任何UIViews的位置,那么效果很好,否则很难弄清楚它应该在哪里结束以及如何在那里找到它

  • 在主UIWindow下放置一个非旋转UIWindow,并将主UIWindow背景颜色设置为clear.

    如果它只是一个项目,那么效果很好,但我不想管理一堆UIWindows

  • 反向旋转即旋转UIView的方向与旋转方向相反.不可靠,看起来很奇怪,它也是眩晕诱发

  • 覆盖viewWillTransitionToSize方法中的动画. 失败

  • 还有很多其他很难在这里列出的东西,但它们都失败了.

可以这样做吗?如果是这样,怎么样?

我支持iOS8 +


更新 这是@ Casey的例子中视图应该如何布局/定位:

在此输入图像描述

iphone orientation uiview ios swift

5
推荐指数
1
解决办法
613
查看次数