2010-10-11 80 views
0

尝试将不同来源拼接到任何形式的相干方法或概念失败后,我再次转向StackOverflow的学习人员。我的问题很具体,也许这就是为什么我很难找到适合的信息,或者我可能只是在搜索。无论哪种方式,在这里。从UIScrollView中将UITableView缩放到全屏

我正在构建一个应用程序,该应用程序具有用UIViews填充的UIScrollView,而UIViews则填充了UITableViews。我有分页和一切设置和正常工作。基本上,我试图反映Safari的(移动)选项卡行为的功能,或者(更接近我试图实现的)Tweetdeck的主页面。我无法发布图片,但如果你点击下面的链接,你会明白我的意思。

http://www.redmondpie.com/wp-content/uploads/2009/07/TweetdeckIphone04.jpg

的原因UITableViews都在里面UIViews是,这是我能想出使tableViews让他们之间的空间,而不是被旁边对方的唯一途径。我尝试设置tableViews的大小和scrollView的插入内容,但是tableviews总是以填充整个scrollView的方式结束。在任何情况下,这是一个单独的问题,可能

当我点击一个tableView/UIView里面的scrollView我希望tableView/UIView放大和填充整个屏幕(减tabBar和navigationBar),然后我应该能够通过按下导航栏上的后退按钮将其缩小。

任何信息或在正确的方向微调非常感谢。

回答

1

我做我的应用程序类似的东西:

-(void)displayPage:(int)targetedPage { 
    ... 
    [UIView beginAnimations:@"MultiViewAnimate" context:nil]; 
    [UIView setAnimationDuration:0.3]; 

    //animate the frame 
    //targetedPage is the index (table view) that should be displayed 
    [(UITableView *)[tableViews objectAtIndex:targetedPage] setFrame:CGRectMake(0, 0, 320, 372)]; 
    [(UITableView *)[tableViews objectAtIndex:targetedPage] setUserInteractionEnabled:YES]; 
    ... 

    [UIView commitAnimations]; 
} 

-(void)displayMultiView:(id)sender { 
    ... 
    [UIView beginAnimations:@"MultiViewAnimate" context:nil]; 
    [UIView setAnimationDuration:0.3]; 

    //animate the frame 
    //targetedPage is the index (table view) that I was previously looking at full screen 
    [(UITableView *)[tableViews objectAtIndex:targetedPage] setFrame:CGRectMake(60, 70, 200, 232)]; 
    [(UITableView *)[tableViews objectAtIndex:targetedPage] setUserInteractionEnabled:NO]; 
    ... 

    [UIView commitAnimations]; 
} 

在这段代码tableViews是所有UITableView s表示了滚动包含数组。

我正在做的比这更多,因为我正在截取我的视图并使用UIImageView作为缩放视图,然后将动画返回到各自的UIWebView。该方法的一个优点是,我只需将UITapGestureRecognizer附加到UIImageView,而不必在关闭UITableView上关闭userInteraction。