【发布时间】:2013-09-16 11:18:50
【问题描述】:
使用 Storyboard,我有一个内部带有 UIScrollView 的 UITabBarController,在 scrollView 内部有一个 UIView。我的视图非常大,并不完全适合故事板。我无法一直滚动到视图的底部。
如果你从头开始构建所有这些,你会怎么做?
【问题讨论】:
标签: ios uiscrollview uistoryboard
使用 Storyboard,我有一个内部带有 UIScrollView 的 UITabBarController,在 scrollView 内部有一个 UIView。我的视图非常大,并不完全适合故事板。我无法一直滚动到视图的底部。
如果你从头开始构建所有这些,你会怎么做?
【问题讨论】:
标签: ios uiscrollview uistoryboard
假设您有一个带有 2 个视图的 UITabBarController。因此你有两个视图控制器。让我们称它们为“A”和“B”。如果您参考此link,在标签栏控制器中配置两个视图应该不会太困难。您也可以使用 Storyboard 来实现这一点。
现在说,在视图“A”中,您希望 UIScrollView 中的 large UIView。你要做的是声明一个 UIScrollView,其 framesize 等于屏幕的尺寸,但将 contentSize 设置为你想要的大尺寸。您现在可以在此滚动视图中查看大视图。
例子:
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 520)]; // little less than 568 to accommodate the tabBar
[scrollView setContentSize:CGSizeMake(320, 1500)];
UIView *largeView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 320, 100)];
[scrollView addSubview:largeView];
[self.view addSubview:scrollView];
您也可以在 Storyboard 中执行上述操作,但我更喜欢使用代码来完成此类任务。 希望有帮助。如果您需要更多帮助,请告诉我。
【讨论】:
您是否为滚动视图设置了contentSize?您应该将 contentSize 设置为滚动视图到内容视图的大小。例如,如果你想在scrollView 中显示view,你应该这样做:
[scrollView addSubview:view]
scrollView.contentSize == view.bounds.size
【讨论】:
我能够弄清楚。我最终做的是创建一个已经实现 tabView 的新故事板。向情节提要的 tabView 添加了一个新的滚动视图,然后将我想要滚动的原始 UIView 复制到滚动视图中。
我将新的 UIScrollView 拖到我的 .h 文件中并创建了一个新属性。
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
然后我像这样设置新属性和中提琴!
[super viewDidLoad];
[self.scrollView setScrollEnabled:YES];
[self.scrollView setContentSize:CGSizeMake(320, 800)];
【讨论】: