iPad DetailView 设计:如何防止 TableViewController 标题和工具栏滚动出视图?

发布于 2025-01-07 06:35:58 字数 280 浏览 1 评论 0原文

我的 iPad 应用程序使用 DetailView,它嵌入在 TabBarControl 中以在多个数据视图之间切换。

DetailView 被设计为 TableViewController,它有一个大的标题视图(为了稍后添加图表,标题视图约占垂直空间的 40%)和顶部的工具栏。

当表格有更多可以显示的行时,如何防止工具栏和标题滚动到视图窗口之外?

我想让表格行可滚动但固定标题和工具栏。

您对我的设计有何建议改进?

先感谢您!

My iPad app uses a DetailView, which is embedded in a TabBarControl to switch between multiple data views.

The DetailView is designed as TableViewController, which has a large header view (to add charts later, the header view makes up approximately 40% of the vertical space) and a toolbar on top.

How can I prevent to scroll the toolbar and header out of the view window when the table has more rows that can be displayed?

I want to have the table rows scrollable but fixed header and toolbar.

What improvement to my design would you suggest?

Thank you in advance!

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

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

发布评论

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

评论(2

メ斷腸人バ 2025-01-14 06:35:58

不要使用 UITableViewController,只需创建 UIViewController 的子类即可。在 viewDidLoad 中,只需将标头视图添加到 UIViewController 的视图中,并在标头视图下方添加一个 UITableView 即可。这样,只有 UITableView 滚动,并且您的标题视图具有固定位置。

Don't use a UITableViewController, simply create a subclass of a UIViewController. In viewDidLoad just add your header views to the UIViewControllers view and add a UITableView below the header views. This way only the UITableView scrolls and your header views have a fixed position.

独留℉清风醉 2025-01-14 06:35:58

为 tableview 设置内容插入,如下所示:

[self.tableView setContentInset:UIEdgeInsetsMake(offset,0,0,0)];

在 viewDidLoad 中以编程方式添加 ADBannerView。例如:

ADBannerView * banner = [[ADBannerView alloc] init];
    banner.delegate = self;
    banner.frame = CGRectMake(0, 64, banner.frame.size.width, banner.frame.size.height);
    [self.view addSubview:banner];

测试。

Set content inset for tableview like this:

[self.tableView setContentInset:UIEdgeInsetsMake(offset,0,0,0)];

Add ADBannerView programmatically in viewDidLoad. For example:

ADBannerView * banner = [[ADBannerView alloc] init];
    banner.delegate = self;
    banner.frame = CGRectMake(0, 64, banner.frame.size.width, banner.frame.size.height);
    [self.view addSubview:banner];

Test.

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