使用 Image 和 Label 设置 Tableview 背景
Posted
技术标签:
【中文标题】使用 Image 和 Label 设置 Tableview 背景【英文标题】:Set Tableview background with Image and Label 【发布时间】:2015-09-11 04:25:23 【问题描述】:我已经搜索了所有内容,但没有找到适合我的答案。 当表格视图中没有项目时,我只想在图像下方设置一个表格视图背景,并在图像下方设置一个文本。像这样:
http://i.stack.imgur.com/7DZa5.png
它还必须位于中心,并且必须在 iPhone 和 iPad 上都可以工作。
我尝试将 tableview 背景设置为 ImageView,但无法将标签定位在图像下方。我也尝试为此创建一个单独的 .xib 文件,但我无法让它工作。请帮忙!
【问题讨论】:
【参考方案1】:你相信魔法吗?开玩笑...
我相信它不是表格视图的背景。每当填充您的表格视图的数组不包含数据时,您需要删除表格视图(_tableView.hidden = YES; WILL WORK)并使用您的图像和标签添加此自定义视图。
【讨论】:
【参考方案2】:为什么不将UITableView
的background
属性设置为清除。然后只是将图像设置为view
它自己的背景?使用AutoLayout
将帮助您始终保持中心。
【讨论】:
【参考方案3】:您好,我已经使用 ImageView 并在 imageview 中设置了一个标签。然后将 imageview 添加为 tableview 的背景。它适用于 iPhone 和 iPad。这是代码:
UIImage *image = [UIImage imageNamed:@"ico_file_list_not_found.png"];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
imageView.image = image;
[imageView setContentMode:UIViewContentModeCenter];
UILabel *messageLbl = [[UILabel alloc] initWithFrame:CGRectMake(self.tableView.bounds.size.width/2 - image.size.width / 2 + (image.size.width/7),
self.tableView.bounds.size.height/2 + image.size.height / 2
, 120, 21)];
messageLbl.text = @"No files found.";
[imageView addSubview:messageLbl];
self.tableView.backgroundView = imageView;
谢谢
【讨论】:
【参考方案4】:它适合你
1> IBOutlet lblTextlable
和 imgNoItem
2> 你将 UITableView 的背景属性设置为清除。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
// Return the number of rows in the section.
if (arrTableListItem.count==0)
lblTextlable.hidden = false;
imgNoItem.hidden = false;
else
lblTextlable.hidden = true;
imgNoItem.hidden = true;
return arrTableListItem.count;
【讨论】:
【参考方案5】:正如我在该图像中看到的,它是标签和图像。所以代码逻辑可能如下:
-
如果列表视图中没有项目,请将其隐藏并“显示”图像/标签。
如果列表视图中至少有一项,则显示列表视图并隐藏图像/标签。
【讨论】:
以上是关于使用 Image 和 Label 设置 Tableview 背景的主要内容,如果未能解决你的问题,请参考以下文章
vb在image上加label,可label却被image挡住了 怎么让label 显示呢