为什么TableView会在导航栏下显示

时间:2016-08-23 07:14:01

标签: ios objective-c uitableview navigationbar

我将导航栏设置为在开始时是透明的。如果不需要透明,我还会在UIlabel的顶部设置ViewController。这适用于UIViewController,但如果我使用UITableViewController,则无法在我的视图顶部添加UIlabel,因为它嵌入了UITableViewController并且滚动了TableView TableView。下面是一个看起来INSERT INTO TIZ_VADF_TL_MODELS (name) VALUES ('xxx''test''yy'); 的情景照片。

enter image description here

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

只有当view只是表时,才能使用UITableViewController。这意味着您的视图控制器不能是UITableViewController,除非该表占用整个场景。

要以合法的方式解决这个问题,您需要构建一个自定义父视图控制器,如下所示:

ViewController
    child: UITableViewController

ViewController的view现在包含标签和表格视图控制器tableView。问题解决了。

您可以使用容器视图在故事板中轻松配置它,以代表ViewController场景中的表视图。实际上,这可能是Container View最重要的用途之一。

答案 1 :(得分:0)

您可以在UIViewController的UITableViewController上添加tableview。 如果UITableViewController使用它作为固定标头,只需取消选中实用程序区域中UITableViewController的弹跳。 希望这会对你有所帮助。

答案 2 :(得分:0)

您可以在viewDidLoad

中使用此功能
  if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)])
{
    self.edgesForExtendedLayout = UIRectEdgeNone;
}