UITableView实现“如何”(如在iphone的twitter应用程序中)

时间:2011-08-24 21:53:51

标签: iphone ios uitableview twitter scrollview

我正要实现一个表格视图行为,就像在iPhone的Twitter应用程序的某个部分中使用的行为一样,我正在谈论显示的表格视图,在地理定位的推文中,我点击下面显示的位置推文。 。 。有些照片只是为了看看:

Image

Image 2

你可以看到表格视图下面有一个背景(实际上是地图),但它不仅仅是一个背景UIView(或Mapview),因为如果滚动即将到来,表格视图会自己上下拉动它弹跳”。 。 。它肯定不是一个节头/页脚,因为表浮在它上面。 。 .so,你对如何实现该表视图有任何想法吗?它可能是一个webview吗?


编辑:我找到了一个解决方案并将其发布了

4 个答案:

答案 0 :(得分:0)

只需将tableview和mapview添加到滚动视图中即可全部设置。

//CREATE THE SCROLL VIEW
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
scrollView.delegate = self;
scrollView.backgroundColor = [UIColor grayColor];
scrollView.contentSize = CGSizeMake(320, 650);   

//ADDING TABLE VIEW
 CGRect cgRct = CGRectMake(0, 0, 320, 600);         
tblSimpleTable = [[UITableView alloc] initWithFrame:cgRct style:UITableViewStyleGrouped];    
 tblSimpleTable.delegate = self;
 tblSimpleTable.dataSource = self;
  [scrollView addSubview:tblSimpleTable];   

  //ADDING MAP VIEW
myMap = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
myMap.delegate = self;
[scrollView addSubview:myMap];


self.view = scrollView;

答案 1 :(得分:0)

也许你可以使用UIView动画。

您可以在与表视图相同的高度添加mapview,但在界面构建器中将其alpha设置为0。

之后,您可以按照IBAction方法执行以下操作:

     [UIView beginAnimations:@"displayMapView" context:nil];
     [UIView setAnimationDuration:0.3];
     mapview.alpha = 1;
     CGRect tableviewFrame = tableview.frame;
     tableview.origin.y += 200; // Height of your map view
     tableview.frame = tableviewFrame;

     [UIView commitAnimations];

应该这样做!

或者你可以在你的(UITableViewCell *)tableView中尝试这样的东西:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath:

 IWebView* webView = [[UISynchedWebView alloc] initWithFrame:
                          CGRectMake(0, 0, cell.bounds.size.width, cell.bounds.size.height)];
 webView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
 webView.tag = 1001;
 webView.userInteractionEnabled = NO;
 webView.delegate = self;
 [cell addSubview:webView];

并加载Google地图请求,或者直接将您的mapview放入您的单元格中,但尚未尝试过。

答案 2 :(得分:0)

看看three20库。 http://three20.info

并从https://github.com/facebook/three20

下载github的源代码

在这个框架中有一个名为TTTableViewController的类,它实现了TTTableViewDragRefreshDelegate。

更多,有一个使用此类的示例应用程序TTTwitter!

你可以从那个和子类开始实现你需要的所有功能!

答案 3 :(得分:0)

好的,我只是想通了。 。这真是太容易了。 。 。并且所有关于使用tableview第一行,必须隐藏以显示底层图像,以及当拖动方向向下时必须用tableview向下拖动底层图像的scrollview委托。 。有一个xcode项目供您试一试:)

http://cl.ly/9bje