如何在UITableView上方放置按钮(而不是在导航栏中)?

时间:2011-04-13 13:45:38

标签: iphone uitableview button

我是iphone编程新手。我正在学习uitableview。我需要创建一个在桌面视图上方有按钮的应用程序(但不在导航栏中),就像在这个应用程序中一样(最近,支持,...): enter image description here

这是如何实现的,按钮是表格标题的一部分?在有人按下tableview上方的按钮后,是否可以调用函数重新绘制具有新数据的tableview。怎么做?

谢谢。

5 个答案:

答案 0 :(得分:2)

创建一个新的视图控制器,但不要选中UITableViewController子类的框。 在IB中,将uiTableView拖到视图上并使其从导航栏下方约44个像素开始。 然后将按钮拖动到该空间。在你的.h文件中声明你的IBOutlet变量,并将它们连接起来。

对于问题的第二部分:让按钮调用IBAction,然后调用该方法

  [myTableView reloadData];

答案 1 :(得分:1)

按钮可以放在UITableView上方的绿色背景图像上(在上面的例子中),即您的tableview可以从放置按钮的绿色背景图像视图下方开始。

答案 2 :(得分:1)

您可以在init方法或loadView或您喜欢的任何地方执行以下操作:

UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Recent", @"Support", @"Around here", nil]];
segment.segmentedControlStyle = UISegmentedControlStyleBar;
self.tableView.tableHeaderView = segment;
[segment release];

答案 3 :(得分:0)

如果您不想在表格视图中滚动这些按钮,则可以在IB中添加它们,并在它们下方添加表格视图。为IB中的每个按钮分配标签。单击按钮后,检查您的操作(您已为按钮指定)以获取按钮标记,并根据其标记重新加载您的表。

如果要使用表格滚动它们,请在indexPath.row == 0添加它们。

这些按钮类型为自定义,并且这些图像设置为它们。

答案 4 :(得分:0)

你想要的实际上非常简单......

你有UITabBarController UINavigationController,还有UIViewController等作为root控制器吗?然后在loadView / XIB中,您只需制作一个自定义UIView,其大小,颜色等等。然后在此视图中附加UISegmentedControl。然后,您将UITableView放在自定义UIView的底部。它只是一个垂直方向的线性布局。

然后,您将在UITableView上方有一个固定的定位视图。

如果你想知道是否可以使用UITableView,你可能想要使用UIViewController ......