我正在尝试使用故事板在应用中设置scrollView。我已经完成了所有操作但滚动视图不会在模拟器或iPhone上滚动。
MoreViewController.h
@property(nonatomic, retain) IBOutlet UIScrollView *moreScroll;
MoreViewController.m
-(void)viewDidLoad{
[moreScroll setScrollEnabled:YES];
[moreScroll setContentSize:CGSizeMake(1220, 354)];
}
我已将scrollView连接到文件所有者,有人可以帮助
先谢谢
答案 0 :(得分:4)
使用自动布局时,有一种新方法- (void)viewDidLayoutSubviews
这是一个快速信息: 通知视图控制器其视图刚刚布置了其子视图。 当视图的边界发生变化时,视图会调整其子视图的位置。在视图布局其子视图后,视图控制器可以覆盖此方法以进行更改。此方法的默认实现不执行任何操作。
如果你添加它,你应该没问题:
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubViews];
[moreScroll setContentSize:CGSizeMake(1220, 354)];
}
答案 1 :(得分:1)
设置滚动视图的滚动条样式可设置水平和垂直滚动条的样式。如果滚动视图随后创建或分配了新的水平或垂直滚动条,则会为它们分配与分配给滚动视图相同的滚动条样式。
如果您在代码中添加以下行,则应该是这样:
This line in .h file
@interface Shout_RouteView : UIViewController<UIScrollViewDelegate>
{
}
@property (retain, nonatomic) IBOutlet UIScrollView *scrollViewMain;
This lines copy in .m file
-(void)viewWillAppear:(BOOL)animated {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
scrollViewMain.frame = CGRectMake(0, 0, 768, 815);
[scrollViewMain setContentSize:CGSizeMake(768, 1040)];
}else {
scrollViewMain.frame = CGRectMake(0, 0, 320, 370);
[scrollViewMain setContentSize:CGSizeMake(320, 510)];
}
}
答案 2 :(得分:0)
我建议您尝试将内容设置代码压缩到viewWillAppear或viewDidAppear方法中。在准备好显示之前,最好不要尝试更改UI功能。