Ale*_*ber 1 iphone objective-c scrollview uiscrollview ios
在Xcode 5.0.2我创建了一个通用的应用程序,并拖了UIScrollView和UIImageView到iPhone和iPad故事板(这里全屏):

然后我试图board.png通过ViewController.m中的以下代码加载图像(版权所有Wikipedia Commons,Denelson83):
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *img = [UIImage imageNamed:@"board"];
NSLog(@"%s: img=%@ (%f x %f)", __PRETTY_FUNCTION__,
img, img.size.width, img.size.height);
_imageView.image = img;
_scrollView.contentSize = img.size;
}
Run Code Online (Sandbox Code Playgroud)
但是结果被压扁并且图像无法滚动:
-[ViewController viewDidLoad]: img=<UIImage: 0x10912d770> (1000.000000 x 961.500000)
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?我怀疑图像是在底部切断的,因为我运行的是3.5英寸的iPhone模拟器?如何解决这个问题呢?
更新:
我试图在滚动视图中添加四个0约束,这样它就占据整个屏幕,但是当我用Cmd-Arrow旋转模拟器时 - 滚动视图不会调整大小(这里是Xcode的全屏):


更新2:
当我UIImageView在Xcode故事板中将"视图模式" 更改为"左上角"并将源代码更改为以下内容:
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *img = [UIImage imageNamed:@"board"];
_imageView.image = img;
_imageView.frame = CGRectMake(0, 0, img.size.width, img.size.height);
_scrollView.contentSize = img.size;
}
Run Code Online (Sandbox Code Playgroud)
然后我得到以下结果,无法滚动:

并且也不能旋转(不填满屏幕):

请记住,故事板图像视图已从故事板中设置其大小,并且在代码中加载图像后,您永远不会调整任何大小.所以,这是我的头脑,但尝试:
UIImage *image = [UIImage imageNamed:@"board"];
_imageView.image = image;
_imageView.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
- (void)viewDidLayoutSubviews
{
_scrollView.contentSize = _imageView.bounds.size;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3064 次 |
| 最近记录: |