【问题标题】:UITableView with fixed image background具有固定图像背景的 UITableView
【发布时间】:2010-09-12 06:27:09
【问题描述】:

抱歉,我没有找到明确的答案。 我有一个 iphone 应用程序,每个选项卡中有一个标签栏和一个 UINavigationController。 该界面是使用 Interface Builder 构建的,在第一个选项卡中有一个 UITableView。 我准备了带有主视图(A)的xib,其中包含一个表格(T)和一个图像(IMG)背景(图像作为主视图的子视图)。 后来我将 UITableViewController 指定为所有者。这就是问题开始的地方。 在 IB 中,如果我将视图连接到 A,我得到一个运行时错误,告诉我控制器找不到表。 如果我将控制器视图连接到 T 一切正常,除了没有显示 IMG。

我找到的唯一解决方案是创建一个持有 A 和 IMG 的新 xib,并将 UIViewController 作为所有者。然后创建一个仅持有 T 和 UITableViewController 作为所有者的 xib,正确连接到 T。 然后在 UIViewController 的 viewDidLoad 中:

iptc = [[IPPlantsTableViewController alloc] initWithNibName:@"IPPlantsView" bundle:[NSBundle mainBundle]];

iptc.navigator=self.navigationController; // <-- need this

[self.view addSubview:iptc.view];

这可行,除了表格视图似乎对navigationController一无所知,因此详细视图机制不起作用,除非我在UITableViewController中为它设置了一个属性。 我还遇到了一些其他的问题,例如向表添加/删除/创建行的所有逻辑都必须在 UIViewController 中处理并发送到 UITableViewController。

还有其他方法可以在表格视图中使用固定图像吗?

【问题讨论】:

    标签: iphone objective-c uitableview background


    【解决方案1】:

    老实说,我讨厌 Interface Builder ;-) 所以我无法帮助你。

    但要在 UITableView 的背景中设置固定图像,您应该: - 将 UITableView 的背景颜色设置为 [ UIColor clearColor ](也可能是单元格的背景) - 在包含图像的 uitableview 视图下方设置和 uiimageview :)

    这样应该可以了。

    但是如果没有 xcode 项目我帮不了你更多^^

    祝你好运

    【讨论】:

    • 是的!所有反对 IB xD 我完全同意
    • 尽管有时间需要更快地以编程方式创建视图,但我更喜欢使用 IB 创建模板。对元素定位、图形、ecc 有很多控制...
    【解决方案2】:

    UITableViewController 是一个便利类;您同样可以只使用 UIViewController 并实现正确的回调。

    在 OS 3.2+ 中,您可以只设置 UITableView.backgroundView。如果 IB 不允许你这样做,你可以用代码来代替。

    或者,您可能能够以不同的方式连接 viewtableView 出口,除非 tableView 只执行 (UITableView*)self.view

    【讨论】:

    • 谢谢...我已经成功地将 UITableViewController 转换为普通的 UIViewController 并且神奇地出现了背景。但是我有最后一个烦人的问题,我用 IB 制作的顶部和底部单元格仅在圆角下方显示黑色背景(如没有透明度的 .gif)。如果我为 UITableView 声明颜色而不是 clearColor,问题就会消失,但我当然看不到背景。
    • 我必须为 backgroundView 设置什么?为表格视图清除颜色还不够吗?
    • 我切换到普通表格而不是分组表格,并多建了两个 ui 自定义单元格,一个用于页眉,一个用于页脚。所以问题暂时解决了。
    猜你喜欢
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多