gpt4 book ai didi

ios - 将方向从垂直更改为倒置时更改 Controller 的颜色

转载 作者:行者123 更新时间:2023-11-29 10:24:48 25 4
gpt4 key购买 nike

如何使用 self.view.backgroundColor = self.randomColor; 更改 View Controller 的颜色,当方向从纵向变为倒置纵向时?

随机颜色的方法:

-(UIColor *)randomColor
{
CGFloat hue = ( arc4random() % 256 / 256.0 ); // 0.0 to 1.0
CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from white
CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from black
UIColor *color = [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];

return color;
}

最佳答案

过去,UIViewController 有一些方法可以重写以检测方向变化(例如 willRotateToInteraceOrientation:duration: )。所有这些在这一点上都已被弃用,因为 Apple 希望开发人员不必担心方向,而是更多地考虑 UIViewController 必须使用的容器的特征和大小。

因此此时的最佳实践可能是实现 viewWillTransitionToSize:withTransitionCoordinator:并在此方法中更改背景颜色。

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];

self.view.backgroundColor = [self randomColor];
}

或者在 Swift 中:

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)

self.view.backgroundColor = self.randomColor()
}

关于ios - 将方向从垂直更改为倒置时更改 Controller 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32895424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com