为啥这个 UIView 没有出现在 UITableView 前面?
Posted
技术标签:
【中文标题】为啥这个 UIView 没有出现在 UITableView 前面?【英文标题】:Why is this UIView not presenting in front of a UITableView?为什么这个 UIView 没有出现在 UITableView 前面? 【发布时间】:2012-03-20 05:51:12 【问题描述】:我有一个 UINavigationController/UITableView,当表格为空时,我想在其上方显示一个 UIView,以提示用户如何将项目添加到表格中。
我从未制作过 UIView(与之前的 UIViewController 不同),所以我将逐步介绍我所做的一切:
-
创建一个新的 UIView 类 - MakeSentenceHelperView
制作一个名为 MakeSentenceHelperView.xib 的 nib
将文件的所有者设置为 MakeSentenceHelperView
在 MakeSentenceHelperView 中加载 nib:
- (id)initWithFrame:(CGRect)frame
self = [super initWithFrame:frame];
if (self)
// Initialization code
NSLog(@"makesentencehelperview init");
[[NSBundle mainBundle] loadNibNamed:@"MakeSentenceHelperView" owner:self options:nil];
return self;
并在 UITableViewController 中显示MakeSentenceHelperView
:
//present the placeholder view for sentences
MakeSentenceHelperView *makeSentenceHelperView = [[MakeSentenceHelperView alloc] init];
NSLog(@"present placeholder: self.navigationcontroller.view: %@", self.navigationController.view);
//Something like this:
[self.navigationController.view addSubview:makeSentenceHelperView];
[self.navigationController.view bringSubviewToFront:makeSentenceHelperView];
类加载并记录正常,但 UITableView 前面没有出现任何内容 - 我哪里出错了?
更新:如果我添加 [self.tableView setHidden:YES];
然后 tableview 消失并且空间是黑色和空的。我假设这意味着我在某处设置了错误的视图。
【问题讨论】:
在使用 nib 子类化 UIView 时,请通过 this link 这是一个非常有用的链接,谢谢 - 我实现了 awakeFromNib 和他们谈到的其他内容,但我仍然遇到同样的问题。 【参考方案1】:您可以使用https://github.com/ecstasy2/toast-notifications-ios/ 来显示android 上的Toast 视图。检查数组大小,如果表格视图没有显示,那么调用这个并显示任何自定义方法。
【讨论】:
我真的不明白你的意思。我只想使用标准的 UIView。【参考方案2】:感谢@Aadhira 提供的链接,这导致我遇到了问题。
-
我需要添加 awakeFromNib
我错过了 [self addSubview:self.view];在 initWithFrame 的末尾。
【讨论】:
以上是关于为啥这个 UIView 没有出现在 UITableView 前面?的主要内容,如果未能解决你的问题,请参考以下文章
在 UITable+iphone 中选择特定行时将拇指图像传递给其他 uiview
为啥这个自定义 UIView 代码不显示 UILabel 的?