【发布时间】:2013-05-09 19:05:50
【问题描述】:
第二次更新
感谢本帖
In iOS6, XCode 4.5, UIScrollView is not Scrolling, despite contentSize being set
答案已经给出!关闭 Storyboard 上的 Auto Layout(整个事情)将修复 ScrollView 并允许事情正确滚动。向人们传播这个词!
更新 添加了代码。真的无法弄清楚为什么这在 iPad 上不起作用。
.h 文件
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@end
.m 文件
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.scrollView.contentSize = CGSize(768, 1600);
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
再次澄清我正在使用 Storyboards,我首先拖入一个 ScrollView,将大小设置为标准 iPad 屏幕(768x1004,因为我在顶部有一个导航栏),然后在上面添加我的图像,然后设置它的大小(768x1600)。然后我将这两个都连接到头文件(如上所示),但我仍然无法滚动图像。我的视图模式设置为“Aspect Fit”,这可能是问题吗?我尝试了其他设置,但没有运气,但不是全部。
任何具体的建议将不胜感激!
原帖
我知道有很多关于这个的主题,但我有一段时间试图让 ScrollView 工作。我正在尝试加载 768x1600 的图像(仅在 iPad 屏幕上),因此您必须垂直滚动才能查看更多图像内容。为了创建 ScrollView,我使用 Storyboard 并将 ScrollView 拖到 ViewController 框架中,对齐它并确保启用交互。然后,在 ScrollView 之上(也在 Storyboard 中)我添加了我希望使用的 UIImage(确保它是一个子视图)并相应地调整它的大小,然后也设置启用交互。
无论我多么努力,我都无法让它在模拟器或我的设备上运行。我已确保我的 ScrollView 在 IB 中设置为委托,即在头文件中有一个 IBOutlet,并且已合成并加载到我的实现文件中。我还确保我已将 contentSize 设置为;
self.scrollView.contentSize = CGSizeMake(768, 1600);
我还尝试通过代码将 UIImage 添加为子视图(而不是在情节提要上),当我这样做时,运行模拟器时图像不会出现。最重要的是,当我单击页面时,没有可用的滚动选项。
任何人都可以在这方面给我任何帮助,我们将不胜感激。如果需要代码,我会发布它。
【问题讨论】:
-
感谢 Rachel 提供这些链接。看到这些就像我发现的其他人一样,这有助于我在我的问题上更加具体。我将进行编辑,看看这是否有助于阐明我的困境。
-
这些以及我发现的所有教程的问题是它们太过时了。 Xcode 与编写这些教程中的大多数时有很大不同(正如仅存在 XIB 时使用的情节提要所证明的那样,并且您不再需要合成对象但所有较旧的教程都需要它)所以我发现每个当我尝试实施这些教程时,它们也无法正常工作。有谁知道针对 iPad 的当前(iOS 6 或更高版本)教程(因为几乎所有这些都是针对 iPhone 的)?
标签: ios uiscrollview