我的应用程序显示以下内容:
'样本1'只是一个显示内容的视图。点击向上按钮后,'示例1'将向上滚动并显示新视图'示例2'将从底部显示,最终结果是:
我想我应该在向上按钮的末尾附加样本2视图,只需调整样本1和向上按钮的框架以显示样本2.
但我不知道如何实施它的细节。有没有简单的方法来实现这个?
答案 0 :(得分:1)
只需将您的按钮和2个示例视图放在UIScrollview中,并将scrollview的内容大小设置为按钮的总高度和2个示例视图。
接下来,您可以禁用UIScrollView上的滚动并将按钮连接到滚动UIScrollView的方法。
假设您在自定义UIViewController类中将UIScrollView和'sample'视图作为属性,您可以执行以下操作:
- (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];
}
}
答案 1 :(得分:0)
您可以尝试enormego (EGO)。请参阅此问题:
答案 2 :(得分:0)
您可以使用滚动视图实现此功能。在滚动视图中添加视图,按下向上按钮时,只需滚动到相应位置。
答案 3 :(得分: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
}];
}