3

我正在尝试使用情节提要在应用程序中设置滚动视图。我已正确完成所有操作,但滚动视图不会在模拟器或 iPhone 上滚动。

MoreViewController.h
@property(nonatomic, retain) IBOutlet UIScrollView *moreScroll;

MoreViewController.m
-(void)viewDidLoad{
    [moreScroll setScrollEnabled:YES];
    [moreScroll setContentSize:CGSizeMake(1220, 354)];
}

我已将滚动视图连接到文件所有者,有人可以帮忙吗

提前致谢

4

3 回答 3

4

使用自动布局是否有一种新方法- (void)viewDidLayoutSubviews

这是一个快速信息:通知视图控制器它的视图刚刚布置了它的子视图。当视图的边界发生变化时,视图会调整其子视图的位置。您的视图控制器可以覆盖此方法以在视图布置其子视图后进行更改。此方法的默认实现什么也不做。

如果你添加这个应该没问题:

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubViews];
    [moreScroll setContentSize:CGSizeMake(1220, 354)];
}
于 2012-12-19T13:40:30.073 回答
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)];
  }
}
于 2012-12-20T05:34:00.107 回答
0

建议您尝试将内容设置代码放入 viewWillAppear 或 viewDidAppear 方法中。在准备好显示之前,最好不要尝试更改 UI 功能。

于 2012-12-19T10:54:03.733 回答