如何用图片替换UITableView?

发布于 2024-10-25 08:51:46 字数 127 浏览 4 评论 0原文

我有一个 UITableView 默认为空白,直到用户编辑并向其添加数据。我想显示一张带有说明的图像,该图像在用户编辑它之前一直显示。

图片的大小非常适合导航栏和标签栏之间。

有没有办法以编程方式执行此操作?

I have a UITableView that is blank be default until the user edits and adds data to it. I want to show an image with instructions that is shown until the user edits it.

The size of the picture is so it fits under perfectly between the nav bar and the tab bar.

Is there a way to do this programmatically?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

狼性发作 2024-11-01 08:51:46

您可以使用 removeFromSuperview 从超级视图中删除 UITableView,然后添加您的 UIImageView

使用下面的代码:

-(void) NeedView:(BOOL) aIsImageView
{
    if(aIsImageView)
    {
        [m_TableView removeFromSuperview];
        [self.view addSubviews:m_ImageView];
    }
    else 
    {
        [m_ImageView removeFromSuperview];
        [self.view addSubviews:m_TableView];
    }
}

you can use removeFromSuperview to remove UITableView from super view then add your UIImageView.

Use the below code :

-(void) NeedView:(BOOL) aIsImageView
{
    if(aIsImageView)
    {
        [m_TableView removeFromSuperview];
        [self.view addSubviews:m_ImageView];
    }
    else 
    {
        [m_ImageView removeFromSuperview];
        [self.view addSubviews:m_TableView];
    }
}
终陌 2024-11-01 08:51:46

创建一个 UIView 将 UITableView 添加为子视图。使用您的说明图像创建一个 UIImageView 并将其添加为子视图。将指令 imageView 放置在 tableView 后面。在 ViewWillAppear 中添加对空表的测试,并根据该检查隐藏表。如果允许用户删除行,您还必须检查以下位置中是否有空表:

- (void)tableView:(UITableView *)tableView
    commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
    forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
        // do delete
        // get count of rows in UITableView and hide table if it's empty
    }
...

Create a UIView add your UITableView as a subview. Create a UIImageView with your instructions image and add it as a subView as well. Position the instructions imageView behind the the tableView. In ViewWillAppear add a test for empty table and hide the table based on that check. If you allow users to delete rows you will also have to check for empty table in:

- (void)tableView:(UITableView *)tableView
    commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
    forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
        // do delete
        // get count of rows in UITableView and hide table if it's empty
    }
...
心如荒岛 2024-11-01 08:51:46

实现起来并不难,只需用指定的帧(可能是frame(0, 44, 320, 392))显示你想要显示的图像即可。并检查表行(实际上是您用于在表中显示的数组的计数),如果它非零,则仅显示图像,否则显示表。

尝试这个概念,然后带着任何问题或疑问回来。

It's not that difficult to achieve, you just can show the image you want to show with the specified frame (may be frame(0, 44, 320, 392)). and check for the table rows(actually the count of array that u are using to show in table) if it is nonzero just show the image and show the table otherwise.

try this concept and come back with any problem or query..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文