使用 Storyboards,我有一个 UITabBarController,里面有一个 UIScrollView,在 scrollView 里面有一个 UIView。我的视图非常大,并不完全适合故事板。我无法一直滚动到视图的底部。
如果你从头开始构建所有这些,你会怎么做?
使用 Storyboards,我有一个 UITabBarController,里面有一个 UIScrollView,在 scrollView 里面有一个 UIView。我的视图非常大,并不完全适合故事板。我无法一直滚动到视图的底部。
如果你从头开始构建所有这些,你会怎么做?
假设您有一个带有 2 个视图的 UITabBarController。因此你有两个视图控制器。让我们称它们为“A”和“B”。如果您参考此链接,在标签栏控制器中配置两个视图应该不会太难。您也可以使用 Storyboard 来实现这一点。
现在说,在视图“A”中,您希望UIScrollView 中的大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
滚动视图设置为内容视图的大小。例如,如果你想展示你应该做这样view
的事情:scrollView
[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)];