UIToolBar 不绘制在 iPhone 屏幕底部
我想要一个 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 配置:
谢谢!
I want a UITableView with a UIToolBar at the bottom of the screen that does not scroll.
I created a custom UIToolBar in IB. (I use Xcode 4, so is it still IB?) Anyway, I linked the toolbar
instance variable in IB, therefore it's instantiated once the nib is loaded.
- (void)viewDidLoad {
[super viewDidLoad];
[[NSBundle mainBundle] loadNibNamed:@"customToolbar" owner:self options:nil];
[[[UIApplication sharedApplication] keyWindow] addSubview:toolbar]; //toolbar is IBOutlet instance variable
}
But it draws at the very top of the screen and is partially cut off by the status bar.
Do I need to customize setting its frame? Or is there a better way? I thought the default was to position the UIToolBar at the bottom.
Here's my IB configuration:
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在这种情况下,更好的方法可能是创建一个包含 UITableView 和 UIToolBar 的“父”UIView,将一个放置在另一个之上并且没有重叠(也就是说,UITableView 为其下方的 UIToolBar 留出了空间)。
我猜想在尝试将工具栏添加为 UITableView 的子视图后,您的代码中最终会出现
[[UIApplication sharedApplication] keyWindow]
,这导致 UITableView 将工具栏滚动到屏幕之外。为了获得更好的结果,请使用上述方法。What would probably work better in this situation is to create a "parent" UIView that contains both your UITableView and your UIToolBar, positioned one above the other and with no overlap (that is, the UITableView leaves room for the UIToolBar below it).
I'm guessing you ended up with
[[UIApplication sharedApplication] keyWindow]
in your code after trying to add your toolbar as a subview of your UITableView, which resulted in the UITableView scrolling your toolbar off the screen. For better results, use the approach above.