2010-11-04 65 views
0

我是iPhone的新手,很难完成这个任务。我知道这是可能的,但找不到方法。 我有UIView其中有UIToolbarUITableView。我使用IB,可以看到页面顶部的工具栏和TableView下方的工具栏,但是当我朗姆我的应用程序只显示TableView,Toolbar由于某种原因没有显示(TableView覆盖它!)。如何阻止UITableView附加到顶部

任何帮助表示赞赏,我希望能够在IB中找到一个设置,但是如果我需要为它编码,那也可以。我已经尝试设置tableview的框架大小(self.tableView.frame = CGRectMake(0, 100, 320, 100);),但这没有做任何事情!

感谢

+0

你使用什么样的视图控制器 – Matt 2010-11-04 20:50:01

+0

我有一个UITableViewController,但作为你的指令,我把它改为UIViewController。 – Amir 2010-11-05 00:33:19

回答

0

IB只是显示工具栏的面积不实际的工具栏的设计目的。你必须手动完成。

+0

我已经添加了一个真实的工具栏,而不仅仅是设置视图的属性来重新分配空间。正如我所解释的,我有一个拥有UITableView和UIToolbar的UIView。 – Amir 2010-11-05 00:31:16

0

首先,如果你不使用ViewController类,请这样做。

在IB把你的表和工具栏视图中,然后将着眼于fileOwner(tableToolViewController)

视图控制器类的头文件应该是这个样子

@interface tableToolViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> { 


    IBOutlet UITableView *theTableView; 
    IBOutlet UIToolbar  *yourToolbar 

现在连接你的网点到你的桌子和工具栏,并应该这样做:

对于使用self.tableView的调用只需使用TableView插座而不是

+0

马特,我已经完成了所有这些,但仍然是相同的结果。我只用我的扩展UITableView的方式,但我改变它遵循你的方向,仍然是一样的!不知道这是否重要,但我已经使用了一个tabbar应用程序向导,这是所有选项卡中的一个,tabbar显示得很好,当我添加工具栏时,IB可以很好地看到它,但只要我运行它,似乎由于某种原因,它扩展了表格以覆盖除tabbar之外的所有内容!即使我为导航栏预留空间,它也不会做任何事情!我确定这是简单的事情,但这让我发疯。 – Amir 2010-11-05 00:27:11

0

那么我设法解决这个问题。只是在这里解释它,所以其他可能有同样问题的人可以受益。

我从马特建议的开始,但它没有帮助。然后我创建了一个新项目,并开始使用UIViewUITableView控制器和布局的不同组合。

看来,如果视图控制器被定义UITableViewController类型,而不是将其定义为UITableVC和文件所有者挂到的tableview则电视扩展到覆盖整个窗口,并没有什么可以做(我不能找不到方法!)。

即使更改类的定义,使之延长UIViewController还是这不会解决问题(奇怪!),但如果简单地创建一个新的类扩展UIViewController和复制粘贴老班所有的代码,并确保文件所有者如果挂钩到UIView,那么一切正常。

我敢肯定,这是所有这些的解释,但现在我很高兴我可以建立我想要的。

感谢您的回复,帮助和快乐编码。