NavigationBar不必使用UITable滚动

时间:2010-09-24 15:15:50

标签: iphone scroll uitableview uinavigationbar

我正在开发一款iPhone应用程序。我正在使用UITable子类UITableViewController。我在视图中添加了一个NavigationBar:UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 48.0f)];[self.tableView addSubview:navBar];,现在的问题是导航栏向下滚动表格,这就是我想要避免的。可以使用UITableViewController避免它吗?

1 个答案:

答案 0 :(得分:3)

你说

  

我正在使用UITable子类化UITableViewController

我猜你正在使用一个子类UITableViewController,当然它拥有一个UITableView。 您的问题是由于您将NavigationBar插入UITableView,或者更确切地说,插入到作为TableView一部分的UIScrollView中引起的。 根据您的需要,您有两种选择:

  1. 如果您希望自己的应用行为与Mail(所以你的TableView只是视图结构中的一个元素,你可以通过它挖掘),你应该是一个UINavigationcontroller并使你的TableViewController成为NavigationController的第一个视图,就像你在Xcode中打开“基于导航的”-Template一样。 UINavigationcontroller已经包含一个UINavigationBar,所以你不必担心。
  2. 如果由于某种原因,这不是你想要的,你将不得不创建一个UIView,它包含你的UINavigationBar以及UITableView。由于已知使用UITableViewController完成此类设置相当困难,因此您可能希望抛弃TableViewController并将其替换为简单的ViewController,它实现了“UITableViewDelegate”和“UITableViewDataSource”-Delegate。请参阅this post以获取进一步的帮助。