use*_*992 10 uiscrollview uiviewcontroller ios
我有一个UIViewController,我想添加一个UIScrollView(启用滚动支持),是否可能?
我知道有可能,如果你有一个UIScrollView添加UIViewController它,但我也感兴趣,如果反向是真的,如果我可以添加UIScrollView到现有UIViewController,这样我得到滚动功能.
编辑
我想我找到了答案:在UIScrollView中添加UIViewController
Lor*_*o B 21
一个UIViewController拥有view财产.所以,你可以添加UIScrollView到它view.换句话说,您可以将滚动视图添加到视图层次结构中.
这可以通过代码或通过XIB实现.此外,您可以将视图控制器注册为滚动视图的委托.通过这种方式,您可以实现执行不同功能的方法.见UIScrollViewDelegate协议.
// create the scroll view, for example in viewDidLoad method
// and add it as a subview for the controller view
[self.view addSubview:yourScrollView];
Run Code Online (Sandbox Code Playgroud)
您还可以覆盖类的loadView方法,UIViewController并将滚动视图设置为您正在考虑的控制器的主视图.
编辑
我为你创建了一个小样本.在这里,您有一个滚动视图作为视图的子视图UIViewController.滚动视图有两个视图作为子视图:( view1蓝色)和view2(绿色).
在这里,我想你可以只在一个方向滚动:水平或垂直.在下面,如果您水平滚动,您可以看到滚动视图按预期方式工作.
- (void)viewDidLoad
{
[super viewDidLoad];
UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
scrollView.backgroundColor = [UIColor redColor];
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;
scrollView.showsVerticalScrollIndicator = YES;
scrollView.showsHorizontalScrollIndicator = YES;
scrollView.contentSize = CGSizeMake(self.view.bounds.size.width * 2, self.view.bounds.size.height);
[self.view addSubview:scrollView];
float width = 50;
float height = 50;
float xPos = 10;
float yPos = 10;
UIView* view1 = [[UIView alloc] initWithFrame:CGRectMake(xPos, yPos, width, height)];
view1.backgroundColor = [UIColor blueColor];
[scrollView addSubview:view1];
UIView* view2 = [[UIView alloc] initWithFrame:CGRectMake(self.view.bounds.size.width + xPos, yPos, width, height)];
view2.backgroundColor = [UIColor greenColor];
[scrollView addSubview:view2];
}
Run Code Online (Sandbox Code Playgroud)
如果您只需要垂直滚动,可以更改如下:
scrollView.contentSize = CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height * 2);
Run Code Online (Sandbox Code Playgroud)
显然,你需要重新安排的位置view1和view2.
PS我在这里使用ARC.如果不使用ARC,则需要显式releasealloc-init对象.
| 归档时间: |
|
| 查看次数: |
25854 次 |
| 最近记录: |