使用 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】:

为什么不将UITableViewbackground 属性设置为清除。然后只是将图像设置为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 lblTextlableimgNoItem

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 背景的主要内容,如果未能解决你的问题,请参考以下文章

UIButton上的image与label的布局

vb在image上加label,可label却被image挡住了 怎么让label 显示呢

Libgdx之Label Image

用于 PNG、GIF 等的 Tensorflow Label_Image

CSS label中的文字垂直居中,有简单代码。

如何隐藏radio_button并使用div / label作为按钮? (Ruby on Rails)