gpt4 book ai didi

iphone - 旋转期间 UIScrollView 的 contentOffset

转载 作者:行者123 更新时间:2023-12-03 18:41:11 25 4
gpt4 key购买 nike

我想在旋转更改期间手动更新 UIScrollViewcontentOffset。 ScrollView 填充屏幕并具有灵活的宽度和高度。

我目前正在尝试更新 willRotateToInterfaceOrientation 中的 contentOffset,如下所示:

- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[Utils logPoint:myScrollView.contentOffset tag:@"initial"];
myScrollView.contentOffset = CGPointMake(modifiedX, modifiedY);
[Utils logPoint:myScrollView.contentOffset tag:@"modified"];
}

-(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[Utils logPoint:myScrollView.contentOffset tag:@"final"];
}

然而,最终的值并不是修改后的值,它似乎受到了它的影响,但我不清楚是如何影响的。

以下是我得到的一些结果:

initial: (146.000000;-266.000000)
modified: (81.000000;-108.000000)
final: (59.000000;-0.000000)

initial: (146.000000;-266.000000)
modified: (500.000000;500.000000)
final: (59.000000;500.000000)

initial: (146.000000;-266.000000)
modified: (-500.000000;-500.000000)
final: (-0.000000;-0.000000)

如何在旋转更改期间更新 ScrollView 的 contentOffset?

最佳答案

将我的评论转换为答案:)

尝试从 willAnimateRotationToInterfaceOrientation:duration: 内部更改 contentOffset。那时动画 block 应该就位,操作系统会将您对 contentOffset 的更改视为属于旋转引起的更改。

如果您之前更改了 contentOffset,系统似乎不会将这些更改视为属于旋转,并且仍然应用旋转调整大小,这次是从新尺寸开始。

关于iphone - 旋转期间 UIScrollView 的 contentOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3647548/

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