这真的很奇怪。我有一个包含三个图像的滚动视图,用户滑动查看下一个图像。但是,我希望第一个屏幕从中间图像开始。简单的; 我将使用 setContentOffset ,一切都会好起来的。
该代码适用于 iPhone 模拟器,但不适用于 iPad 模拟器(或设备!)
CGRect screen = [[UIScreen mainScreen] bounds];
CGFloat height = CGRectGetHeight(screen);
CGFloat width = CGRectGetWidth(screen);
CGPoint rightOffset = CGPointMake(width, 0);
[scrollView setContentOffset:rightOffset animated:YES];
所有设置都在添加滚动视图之前设置(实际上我们可以在添加滚动视图之后执行此操作并获得相同的结果)。
宽度在 ipad 上返回 768,在 iphone 上返回 320。
这是一个错误吗?Xcode 4.4.1 和 iOS 6。
编辑:
看起来这与创建顺序有关;移至 viewWillAppear 而不是 viewDidLoad 并且显然在 iphone 和 ipad 上工作。只是不一致的地方非常令人惊讶....