gpt4 book ai didi

ios - UIImageview 上的渐变层在 iphone 6s plus 中向上移动,同时在 iphone 5 中正确设置

转载 作者:行者123 更新时间:2023-11-28 19:34:02 25 4
gpt4 key购买 nike

在我的 viewDidLoad 中,我正在调用方法:

[self applyGradientOnDogImageView];

-(void)applyGradientOnDogImageView{

CAGradientLayer *gradient = [CAGradientLayer layer];

gradient.frame = CGRectMake(self.dogImageView.bounds.origin.x, self.dogImageView.bounds.origin.y+self.dogImageView.bounds.size.height/2, self.dogImageView.bounds.size.width, self.dogImageView.bounds.size.height/2);

gradient.colors = [NSArray arrayWithObjects:(__bridge id)[[UIColor clearColor] CGColor], (__bridge id)[[[UIColor blackColor] colorWithAlphaComponent:1.0] CGColor], nil];

[self.dogImageView.layer insertSublayer:gradient atIndex:0];

在 iphone 5 中我得到这个输出:

enter image description here

在 iphone 6s plus 中得到这个输出: enter image description here

如何解决iphone 6s plus渐变向上移动的问题?

最佳答案

在 viewDidLoad 中, View 的大小尚未针对特定设备进行调整。因此,您的渐变框架将是错误的。

您应该在 viewWillAppear 中调用依赖于布局正确的代码,并且您还应该在您的 viewDidLayoutSubviews 方法中调整它们。

因此,不要从 viewDidLoad 调用您的 applyGradient 方法,而是从 viewWillAppear 调用它,并编写更新图层框架的代码并从 viewDidLayoutSubViews 调用它。

关于ios - UIImageview 上的渐变层在 iphone 6s plus 中向上移动,同时在 iphone 5 中正确设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41019085/

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