gpt4 book ai didi

objective-c - iOS 7 - 为什么 CGAffineTransform 在 iOS8 而不是 iOS7 上正常工作?

转载 作者:太空狗 更新时间:2023-10-30 03:44:51 24 4
gpt4 key购买 nike

我在 iOS7 上使用 CGAffineTransformMakeTranslation 时遇到问题。我正在使用 CGAffineTransformMakeTranslation 的 View 在运行 iOS7 和 iOS8 时会转到不同的位置。为什么会这样,我做错了什么?

我有一个 View ,我称之为“hud”,它是其 parentView 的长度和 125.0 高。我正在使用自动布局,这是我 Storyboard的屏幕截图,因此您可以看到我是如何设置约束的。容器 View 是照片的 Collection View 。

Storyboard

我马上有“HUD”隐藏,并在选择照片时,它会滑回 View 中。

-(void)showHud:(BOOL)show
{
NSLog(@"Frame Height: %f", hud.frame.size.height);

if (show && !hudSelectionMode)
{
[UIView animateWithDuration:0.5 delay:0 options:0
animations:^{
hud.transform = CGAffineTransformMakeTranslation(0, 0);
hud.alpha = 0.8f;
}
completion:^(BOOL finished){
}
];

}
else if (!show && !hudSelectionMode)
{

[UIView animateWithDuration:0.5 delay:0 options:0
animations:^{
hud.transform = CGAffineTransformMakeTranslation(0, hud.frame.size.height);
hud.alpha = 0.8f; // will be 0.0 when not testing
}
completion:^(BOOL finished){
}
];


}

}

这是问题所在On iOS8 this works flawlessly the hud is hidden from the start and will slide up when an image is selected: Hud Hidden Hud Showing

然而,当在 iOS7 设备上运行时,hud 并不是我期望的那样: Hud ios7 "hidden" Hud ios7 showing

如果我注释掉 -(void)showHud:(BOOL)show 中的所有代码,hud 将位于 parentView 的底部,我希望它在 7 和 8 上都位于该位置。

最佳答案

在 iOS 7 上,您需要将平移值乘以设备的比例因子。在 iOS8 上这似乎是自动完成的,但在 iOS7 上不是。

关于objective-c - iOS 7 - 为什么 CGAffineTransform 在 iOS8 而不是 iOS7 上正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26244694/

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