UIToolBar 不在 iPhone 屏幕底部绘制

Posted

技术标签:

【中文标题】UIToolBar 不在 iPhone 屏幕底部绘制【英文标题】:UIToolBar does not draw at bottom of iPhone screen 【发布时间】:2011-05-19 06:19:13 【问题描述】:

我想要一个 UITableView,在屏幕底部有一个不滚动的 UIToolBar。

我在 IB 中创建了一个自定义 UIToolBar。 (我使用 Xcode 4,所以它仍然是 IB 吗?)无论如何,我在 IB 中链接了 toolbar 实例变量,因此一旦加载了 nib,它就会被实例化。

- (void)viewDidLoad 
    [super viewDidLoad];
    [[NSBundle mainBundle] loadNibNamed:@"customToolbar" owner:self options:nil];
    [[[UIApplication sharedApplication] keyWindow] addSubview:toolbar];  //toolbar is IBOutlet instance variable

但它在屏幕的最顶部绘制,并被状态栏部分截断。

我需要自定义设置它的框架吗?或者,还有更好的方法?我认为默认是将 UIToolBar 放置在底部。

这是我的 IB 配置:

谢谢!

【问题讨论】:

【参考方案1】:

我想要一个 UITableView,在屏幕底部有一个不滚动的 UIToolBar。

在这种情况下可能更好的方法是创建一个“父”UIView,它包含你的 UITableView 和你的 UIToolBar,一个在另一个之上并且没有重叠(也就是说,UITableView 为它下面的 UIToolBar 留出了空间)。

我猜您在尝试将您的工具栏添加为 UITableView 的子视图后,您的代码中最终会出现 [[UIApplication sharedApplication] keyWindow],这导致 UITableView 将您的工具栏滚动到屏幕外。为获得更好的结果,请使用上述方法。

【讨论】:

以上是关于UIToolBar 不在 iPhone 屏幕底部绘制的主要内容,如果未能解决你的问题,请参考以下文章

iOS7 UIToolbar 上缺少阴影(细线)

如何在 UIScrollView 中将 UIToolbar 固定到屏幕底部

移动 UIToolbar 的最佳方式是啥?

如何向上移动 tableView 以便从底部弹出一个视图以便它不在 iPhone 中的表格顶部

swift如何将inputAccessoryView停靠在UIToolbar上方(不是底部)

UIToolbar 内的 UISegmentedControl 的横向高度确实错误