将静态UILabel放在滚动UITableView的顶部

时间:2013-10-01 08:01:26

标签: ios uitableview uilabel xcode5

我有一个典型的Master-Detail布局,在我的MasterViewController中有一个UITableView。

在我的XIB中,我在UITableView上放置了一个UILabel。

我打算使用此标签通知用户他/她的搜索条件没有产生任何结果,因此表中没有行。根据数据,我将显示/隐藏此标签。

我有一个UIView作为我的UITableView和我的UILabel的容器。

为什么,当我运行我的应用程序时,标签无处可寻,为什么在设计师中,当我点击我的标签(或在桌子上)时,我点击编辑器 - >安排,所有选项都变灰了吗?

XCODE SCREENSHOT

问候!

2 个答案:

答案 0 :(得分:1)

您无法通过界面构建​​器将子视图添加到UITableViewController。您应该尝试使用UIViewController。要复制UITableViewControllers的好处,可以将以下内容添加到 - viewDidLoad方法(从而防止跳转的UIRefreshControls等)

UITableViewController *tableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
[tableViewController setTableView:self.tableView];

编辑:

这100%有效。唯一的解释是您将标签拖入TableView而不是其超级视图。我创建了一个新的应用程序,这里的层次结构应该是这样的:

请注意标签是如何明显内嵌低于的tableview?这是模拟器输出的内容:

希望有所帮助。

答案 1 :(得分:1)

UITableViewtableHeaderViewtableFooterView属性。

您可以通过以下方式解决问题:self.tableView.tableHeaderView = label;