2011-01-19 101 views
3

我是iPhone编程的初学者。我的第一个应用程序是一个UITableViewController,但现在我想尝试一点点。我们的想法是创建一个自定义布局是这样的:iPhone UITableViewController自定义布局

布局:

--------------------- 
Image  | Button  
--------------------- 
UICalendar 
--------------------- 
UITableView 
--------------------- 
Button  | Button 
--------------------- 

问题1: 正如你可以看到,我想添加一些额外的UI elemnts。我见过的所有教程都将UITableViewController描述为单个UITableView(控制器中没有包含其他UI元素)。 所以我的问题是有可能扩展UITableViewController有这种布局?什么是正确的方式来做到这一点?

问题2: 对于我的UITableViewController不使用XIB文件,但有些人做的。为什么在创建UITableViewController时会使用XIB文件?有什么好处?最佳做法是什么?

更新: 其实我在想的是为UICalendar(UICalendarController)和UITableView(UITableViewController)分开控制器。我只是不知道如何实现这一点。

Thx。

回答

6

的那种你正在试图做的事情的标准方法是不继承UITableViewController或使用XIB文件来定义与UITableViewController连接视图的接口,而是使用UIViewController与XIB碰巧包含一个UITableView的文件。

您必须在UIViewController子类中实现UITableViewDataSourceUITableViewDelegate协议,但这并不困难。

UITableViewController是有点脆和限制类的,很遗憾。创建自己的类使用UITableView并不难,但对于许多人来说,正确的方法不是从UITableViewController开始,这很不直观。

+0

接近我想要的:)。我用协议做了一个例子,它工作。当我尝试将UITableView的功能分离到新的控制器时,我得不到它。那可能吗?请参阅我的更新消息。 – xpepermint 2011-01-19 17:35:28

0

在iPhone,您可以创建通过编程每个控制,或者您可以使用XIB。 XIB通过使用控件的本地特性使工作变得简单。如果您想扩展控件及其功能,请创建自定义类并手动创建它们。

来到UITableView的,是你的一个细胞的代表性?否则,您可以创建自定义单元格并将其添加到表格视图中。为了创建自定义表格视图单元格,你必须从UITableViewCell扩展你的类并实现它们。

+0

我应该使用的UITableViewController我的情况或UIViewController的还是怎么了? – xpepermint 2011-01-19 17:25:35