我正在创建一个iPhone应用程序,其中包含带有文本标签的图标。我希望手机旋转到横向模式时隐藏标签,因为它们没有足够的空间。什么是最简单的方法来做到这一点?手机处于横向模式时隐藏标签
0
A
回答
1
您可以先在viewDidLoad中添加一个NSNotification以了解设备的方向更改。
NSNotificationCenter.defaultCenter().addObserver(self, selector: "rotated", name: UIDeviceOrientationDidChangeNotification, object: nil)
这将调用函数“旋转”时,设备知道它的方向改变了,那么你只需要创建一个函数,并把我们的代码里面。
func rotated()
{
if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation))
{
print("landscape")
label.hidden = true
}
if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation))
{
print("Portrait")
label.hidden = false
}
}
1
得到,如果你想进行动画处理的变化(例如淡出的标签,或其他一些动画),实际上你可以做到这一点与通过重写viewWillTransitionToSize
方法旋转同步例如
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
coordinator.animateAlongsideTransition({ (UIViewControllerTransitionCoordinatorContext) -> Void in
let orient = UIApplication.sharedApplication().statusBarOrientation
switch orient {
case .Portrait:
println("Portrait")
// Show the label here...
default:
println("Anything But Portrait e.g. probably landscape")
// Hide the label here...
}
}, completion: { (UIViewControllerTransitionCoordinatorContext) -> Void in
println("rotation completed")
})
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
}
以上内容来自于以下的答案必须采取的代码示例:https://stackoverflow.com/a/28958796/994976
0
目标C版
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration
{
if (UIInterfaceOrientationIsPortrait(orientation))
{
// Show the label here...
}
else
{
// Hide the label here...
}
}
斯威夫特版本
override func willAnimateRotationToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval)
{
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation))
{
// Show the label here...
}
else
{
// Hide the label here...
}
}
相关问题
- 1. 如何在横向模式下隐藏标签图标?
- 2. 在横向模式下隐藏标签栏
- 3. 如果手机处于横向模式,Android相机预览方向不正确
- 4. 在横向模式下隐藏字段
- 5. 安卓相机处于横向模式,但用于纵向模式
- 6. 隐藏Android的标题栏,仅在横向模式下
- 7. 隐藏全景标题在横向模式[WP7]
- 8. 横向隐藏UITabBar
- 9. 强制UIViewController处于横向模式iOS7
- 10. 在横向模式下隐藏状态栏时的问题iphone
- 11. Android。 Mashmallow。相机预览始终处于横向模式
- 12. pushViewController: - 当设备处于横向模式时,如何以纵向模式显示?
- 13. iOS - 当前处于横向模式时如何强制纵向模式
- 14. 如何在Ionic 3中以编程方式隐藏横向模式下的标题和标签?
- 15. 如何在方向更改为横向模式时隐藏Safari的工具栏?
- 16. 当设备处于横向模式时,MPAndroidChart PieChartRenderer崩溃
- 17. UISplitViewController不会在横向模式下隐藏masterViewController
- 18. 滚动型隐藏TextView的文本在横向模式
- 19. 在Android布局中隐藏横向模式的字段
- 20. 以横向模式在Android上隐藏URL地址栏
- 21. Handler.postDelayed当手机处于待机模式时不会调用
- 22. 为什么手机处于横向模式时,ImageView上的捕获图像消失了?
- 23. 隐藏标签
- 24. 隐藏标签
- 25. 隐藏标签
- 26. 隐藏用于手机的内容
- 27. 横向模式下android手机的设备宽度?
- 28. 横向模式手机上的小型图库传送带
- 29. 如何让手机导航菜单以横向模式显示?
- 30. 在黑莓手机中禁用横向模式
完美工作,谢谢! –
不客气:) – Lee