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 屏幕底部绘制的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIScrollView 中将 UIToolbar 固定到屏幕底部
如何向上移动 tableView 以便从底部弹出一个视图以便它不在 iPhone 中的表格顶部