【问题标题】:Easy custom UITableView drawing轻松自定义 UITableView 绘图
【发布时间】:2010-03-05 22:44:57
【问题描述】:

全部,

我在 Matt Gallagher 网站 (http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html) 中找到了这个非常简洁的表格视图设计的代码......我对 Cocoa 很陌生,我很难弄清楚如何在 IB 中连接该死的东西。 ..

我喜欢这个设计,并希望在更复杂的结构中使用类似的东西...导航栏/标签栏和其他一些视图/表格视图用于第一个视图中的数据...我找到了很多教程要做并让它工作......当我尝试在我的项目中使用该设计时,事情变得疯狂......在我的 MainWindow.xib 中,我无法在箭头指向的地方拥有 UIView......

笔尖是这样的:

Tab Bar Controller
 Tab Bar
 Nav Controller
      Navigation Bar
      Table View Controller
         Table View
---->>>>     (UIView for the backgroundImage ) 
         Navigation Item
      Tab Bar Item
     UIView Controller
      Tab Bar item
  Window

谁能指导我正确的方向?

谢谢!!!

【问题讨论】:

  • 据我所知,Matt Gallagher 在代码中做所有事情,而不是在 IB 中。对于那种事情,你会在 Xcode 中“手动”做更好的运气。 (即创建子视图并将它们添加到您的视图中)但是如果您对 Cocoa 非常陌生,您可能希望首先坚持使用标准 UI,直到您很好地掌握了框架。 (我自己是 Cocoa 的新手,所以你可以相信我 :))

标签: iphone xcode uitableview


【解决方案1】:

听起来您对表格视图的问题与围绕表格的层次结构的构建相比没有问题。

创建层次结构的说明如下。我认为您在第 9 步左右出现了分歧:

  1. 从默认 iPhone“视图”模板的新副本开始
  2. 扔掉视图控制器类。
  3. 打开 MainWindow.xib 并删除那里的视图控制器。
  4. 在 Interface Builder 库调色板(它们是 “对象”模式下“Cocoa Touch”库顶部的黄色球体,其图标包含 其他对象)。
  5. 将标签视图控制器拖入 你的 MainWindow.xib 文件在顶部 水平。
  6. 展开选项卡视图(在 xib 的列表视图中其名称旁边的三角形)
  7. 将导航控制器拖到展开的选项卡视图中(如果可行,它应该显示为选项卡之一以及默认情况下存在的两个视图控制器)
  8. 展开导航控制器
  9. 将视图控制器(不是表格视图控制器)拖到导航控制器中。它应该显示为导航控制器的内容。
  10. 选择视图控制器(单击)。
  11. 按 Command-4(或从“工具”菜单中选择“身份检查器”)。
  12. 在“Class Identity”弹出菜单中,选择 EasyCustomTableController(假设当前 xib 文件是 Xcode 项目的一部分,并且该 Xcode 项目已经添加了 EasyCustomTableController)。
  13. 将 UIImageView 添加到视图控制器的视图(这是您的背景图片)
  14. 将 UITableView 添加到视图控制器的视图(这是您的表)。添加此视图,使其位于您的图像视图之后(因此位于您的图像视图之上)。
  15. 视图控制器上应该有一个 tableView 出口。将其连接到表格视图。
  16. 将应用代理的 viewController 连接到标签栏控制器(在 Xcode 中,您可以选择将此属性的类型更改为 UITabViewController)

应该可以。

诀窍在于,如果您希望视图包含的不仅仅是表格,则不能使用 UITableViewController。因此,您必须使用 UIViewController 并重新创建 UITableViewController 添加的功能。请参阅此处了解这是如何完成的:

http://cocoawithlove.com/2009/03/recreating-uitableviewcontroller-to.html

【讨论】:

  • 非常感谢马特!!!真的很感谢帮助!!修改后的表格视图示例很棒! :)
【解决方案2】:

谢谢马特(你的回答很酷)!!

我真的很感谢你的帮助...我一直在搞砸它并让它在另一个视图中使用 UIViewController 工作(从 tableview 创建)...一旦我在导航中拥有 UITableViewController 我就放弃了图像视图并使用灰色;看起来不错!!初始屏幕的行足够大,滚动不是问题...我现在回去尝试更改...

我不得不说,对于刚接触 Cocoa Touch 的新手来说,IB 是迄今为止应用开发中最具挑战性的一步!!!哎呀!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 2013-12-20
    相关资源
    最近更新 更多