好朋友。
我正在为面向 iOS 5.10 或更高版本的电子书创建一个基于页面的通用应用程序。我有一些问题。
我写
_pageData = [NSArray arrayWithObjects:
[UIImage imageNamed:@"kkkn_0003.png"],
[UIImage imageNamed:@"kkkn_0004.png"],
[UIImage imageNamed:@"kkkn_0005.png"],
[UIImage imageNamed:@"kkkn_0006.png"],
[UIImage imageNamed:@"kkkn_0007.png"],
[UIImage imageNamed:@"kkkn_0008.png"],
[UIImage imageNamed:@"kkkn_0009.png"],
[UIImage imageNamed:@"kkkn_0010.png"],
[UIImage imageNamed:@"kkkn_0011.png"],
[UIImage imageNamed:@"kkkn_0012.png"],
nil];
在 ModelController.m 中。所有图像尺寸相同,102410 x 1536。
我使用Storyboard,我首先将一个UIScrollView 放到UIView 上,连接到DataViewController.h 并命名为滚动,然后将一个UIImageView 也连接到DataViewController.h 并命名为imgv。
在 DataViewController.m 中,我合成如下。
@synthesize dataObject = _dataObject;
@synthesize imgv = _imgv;
@synthesize scroll = _scroll;
但是这里有一些问题。所以我在 viewWillAppear 函数中编写了如下代码。
NSLog( @"ImageView bounds %f, %f, %f, %f", _imgv.bounds.origin.x, _imgv.bounds.origin.y, _imgv.bounds.size.width, _imgv.bounds.size.height);
NSLog( @"ImageView Frame %f, %f, %f, %f", _imgv.frame.origin.x, _imgv.frame.origin.y, _imgv.frame.size.width, _imgv.frame.size.height);
首先,在运行 iOS 5.1 的 iPhone4S 上,它显示 ImageView bounds 0.000000, 0.000000, 320.000000, 480.000000 ImageView Frame 0.000000, 34.000000, 320.000000, 480.000000 并且工作正常。
但是在运行 iOS 6.0.2 的 iPhone 5 上,它显示相同的值,所以我在顶部和底部有两个浅黄色边距。这是第一个问题。
其次,在运行 iOS 5.1 的 iPad2 上,它显示
ImageView bounds 0.000000, 0.000000, 688.000000, 944.000000
ImageView Frame 0.000000, 0.000000, 688.000000, 944.000000
这意味着 UIImageView 不是全屏的,我可以在屏幕上看到它的边框。而且, UIImageView 不适合中心。
在运行 iOS 6.0.2 的 iPad 4th gen 上运行时,它显示
ImageView bounds 0.000000, 0.000000, 768.000000, 1024.000000
ImageView Frame 0.000000, 0.000000, 768.000000, 1024.000000
在第一页,但在接下来的页面中,它显示
ImageView bounds 0.000000, 0.000000, 688.000000, 944.000000
ImageView Frame 0.000000, 0.000000, 688.000000, 944.000000
我什么也没做,但 UIImageView 的大小在第一页和其他页面之间是不同的。UIImageView 也不是全屏模式,所以我又看到了边框。
你有什么好的解决办法吗?
谢谢你的帮助。胜