在基于导航的应用程序中将背景图像添加到 UITableViewController
我有一个基于导航的应用程序,我将 UITableViewControllers 推入堆栈。我想向我的所有 UITableViewControllers
添加背景 UImage
。不是 UIColor
,而是 UImage
。我知道如何使用 Nib
文件并将 UITableView
本身设置为使用 [UIColor ClearColor]
来做到这一点,但我不知道想要浏览我所有的 UITableViewControllers
并将它们更改为使用 Nib
文件等。
我还发现 这个解决方案 如果我只使用一个我的应用程序中的 tableviewcontroller 。我认为可能有一种方法可以完成这项工作,通过在 UITableViewController
中默认创建的表视图“下方”添加一个子视图?
任何建议都会很棒。
I have a navigation based app where I push UITableViewControllers
onto the stack. I would like to add a background UImage
to all of my UITableViewControllers
. Not a UIColor
, but an UImage
. I know how I can do this using a Nib
file and setting the UITableView
itself to have use [UIColor ClearColor]
, but I don't want to go through all my UITableViewControllers
and change them to using Nib
files, etc.
I also found this solution which would be great if I was just using a single tableviewcontroller in my app. I think there might be a way to make this work, by adding a subview "below" my table view that is created by default in a UITableViewController
?
Any suggestions would be great.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
在基于导航的应用程序中,这有点不同:只需更改每个表视图所在的导航视图的背景即可。将以下代码放在每个 UITableViewController 的 viewDidLoad 中是可行的:
但是您可能只需要在导航控制器的顶层执行一次,而不是在每个 tableview 控制器中(尽管您仍然有将每个背景设置为清除)。
It's a little different in a navigation based app: just change the background of the navigation view that each table view is sitting on. Placing the following code in
viewDidLoad
of each UITableViewController works:But you may only need to do it once, at the top level of the navigation controller, rather than in each tableview controller (although you'll still have to set each background to clear).
在 iOS6 上使用:
On iOS6 use this:
如果您的类是 UIViewController 子类,那么您可以这样做:
If your class is a UIViewController subclass then you can do it like this:
正如戈尔姆所说
As Gorm said
我的 Madhup 给出的答案是正确的答案。 UITableViewController 是 UIViewController 的子类,因此将其添加到 UITableViewController 的 viewDidLoad 方法中效果很好。
The answer given my Madhup is the correct answer. UITableViewController is a subclass of UIViewController, so adding that to your UITableViewController's viewDidLoad method works great.
从 iOS 3.2 开始,存在
-[UITableView setBackgroundView:]
,这可能比未来提出的一些其他解决方案更容易。As of iOS 3.2,
-[UITableView setBackgroundView:]
exists, which may be easier than some of the other proposed solutions going forward.