我已经为视图添加了背景颜色。当我将方向肖像更改为横向颜色时,折叠了。我附加了屏幕截图。
人像:
风景:
CAGradientLayer *color = [back_color blackWhiteGradient];
color.frame = self.back_view.bounds;
[self.back_view.layer insertSublayer:color atIndex:0];
谢谢....
答案 0 :(得分:0)
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
// code for landscape orientation
}
OR
if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
{
// code for Portrait orientation
}
根据方向更改渐变,然后您将获得准确的颜色,您可以像这样设置渐变的渐变。
希望这会对你有帮助....答案 1 :(得分:0)
CAGradientLayer *color = [back_color blackWhiteGradient];
color.frame = self.back_view.bounds;
[self.back_view.layer insertSublayer:color atIndex:0];
在方向更改时调用此代码,并在方向更改时生成实例变量,同时首先删除渐变,然后重新创建渐变。 这不起作用,因为渐变根据其屏幕大小应用,因此在方向更改时不会自动重新绘制其表面。
答案 2 :(得分:0)
我刚刚添加了以下编码,它完美无缺。
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
// resize your layers based on the view’s new bounds
[[[self.back_view.layer sublayers] objectAtIndex:0] setFrame:self.back_view.bounds];
}