0

我的应用程序显示以下内容:

样品 1

'Sample 1' 只是一个显示内容的视图。单击向上按钮后,“示例 1”将向上滚动,并从底部显示新视图“示例 2”,最终结果为:

样品 2

我想我应该在向上按钮的末尾附加示例 2 视图,只需调整示例 1 和向上按钮的框架以显示示例 2。

但我不知道如何实现它的细节。有没有一种简单的方法来实现这一点?

4

4 回答 4

1

只需将您的按钮和 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];
    }
}
于 2013-02-05T09:59:41.610 回答
0

你可以试试enormego (EGO)。参考这个问题:

拉动刷新 (ios)

于 2013-02-05T09:46:14.930 回答
0

您可以使用滚动视图来实现这一点。在滚动视图中添加视图,当按下向上按钮时,只需滚动到相应的位置。

于 2013-02-05T09:54:54.427 回答
0

在我之前和之前我都做过这个,你要小心,因为你正在创建一个比屏幕尺寸更大的视图,因此你在技术上一直在渲染一个比普通视图更大的视图。如果可以的话,避免这种情况(虽然没有必要)可能会让您从屏幕上卸载视图。

除此之外,让您的主视图出现在 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
    }];
}
于 2013-02-05T10:03:42.067 回答