我的应用程序显示以下内容:
'Sample 1' 只是一个显示内容的视图。单击向上按钮后,“示例 1”将向上滚动,并从底部显示新视图“示例 2”,最终结果为:
我想我应该在向上按钮的末尾附加示例 2 视图,只需调整示例 1 和向上按钮的框架以显示示例 2。
但我不知道如何实现它的细节。有没有一种简单的方法来实现这一点?
我的应用程序显示以下内容:
'Sample 1' 只是一个显示内容的视图。单击向上按钮后,“示例 1”将向上滚动,并从底部显示新视图“示例 2”,最终结果为:
我想我应该在向上按钮的末尾附加示例 2 视图,只需调整示例 1 和向上按钮的框架以显示示例 2。
但我不知道如何实现它的细节。有没有一种简单的方法来实现这一点?
只需将您的按钮和 2 个示例视图放在 UIScrollview 中,并将滚动视图的内容大小设置为按钮和 2 个示例视图的总高度。
接下来,您可以禁用 UIScrollView 上的滚动并将按钮连接到向上滚动 UIScrollView 的方法。
假设您将 UIScrollView 和“示例”视图作为自定义 UIViewController 类中的属性,您可以执行以下操作:
- (void)viewDidLoad
{
[super viewDidLoad];
//disable scrolling
self.scrollView.scrollEnabled = NO;
}
//connect this action to you button
- (IBAction)buttonPressed:(id)sender{
//if current position is top scroll down, otherwise scroll up.
if(self.scrollView.contentOffset.y < 1){
[self.scrollView setContentOffset:CGPointMake(0, self.sample1.frame.size.height) animated:YES];
}else{
[self.scrollView setContentOffset:CGPointMake(0, 0) animated:YES];
}
}
你可以试试enormego (EGO)。参考这个问题:
您可以使用滚动视图来实现这一点。在滚动视图中添加视图,当按下向上按钮时,只需滚动到相应的位置。
在我之前和之前我都做过这个,你要小心,因为你正在创建一个比屏幕尺寸更大的视图,因此你在技术上一直在渲染一个比普通视图更大的视图。如果可以的话,避免这种情况(虽然没有必要)可能会让您从屏幕上卸载视图。
除此之外,让您的主视图出现在 UIScrollView 中,以便您可以调整视图的位置。
代码可能如下所示:
- (IBAction)upButtonPress:(id)sender
{
[UIView animateWithDuration:2.0 animations:^{
// Approximate frame origin difference
self.scrollView.contentOffset.y = self.view.frame.size.height - upButton.frame.size.height;
} completion:^(BOOL finished) {
// if necessary, do something when animation completes
}];
}