我有基于导航控制器的应用程序,一个viewcontroller以横向模式呈现模态图。然后我添加工具栏和完成按钮以关闭图形vc并返回导航和纵向模式。
我无法弄清楚如何将工具栏放在图形视图控制器的顶部,并在工具栏底部显示正确的阴影。到目前为止,我有这个代码将工具栏添加到底部位置,它在工具栏的顶部有默认阴影。是否允许在屏幕顶部设置工具栏?由于强制定向旋转的原因,我无法使用带有图形vc的导航控制器。平台仅限iOS7和iPhone。感谢。
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(self.view.bounds.origin.x, self.view.bounds.size.width - 44.0, self.view.bounds.size.height, 44.0)];
UIBarButtonItem *flexibleSpaceButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *doneButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
toolbar.items = [NSArray arrayWithObjects:flexibleSpaceButtonItem, doneButtonItem, nil];
[self.view addSubview:toolbar];
答案 0 :(得分:1)
我认为你的画面看起来有点奇怪。您正在从视图宽度计算y位置,从视图高度计算宽度。
也许您必须使用UIBarPositioning
协议指定工具栏位于顶部。
UIImage *shadow = [toolbar shadowImageForToolbarPosition: UIBarPositionAny];
[toolbar setShadowImage:shadow forToolbarPosition:UIBarPositionTopAttached];
下一步编辑:
这是文档对iOS 7 UIToolbar的评价:
<强>
中声明UIBarPositionTop
强>
指定条位于其包含视图的顶部 系统使用此作为提示来相应地绘制方向性装饰。例如,任何阴影都将绘制在条形图下方。UIToolbar
的实例在iPhone上不显示此位置,但可以在iPad上显示。
适用于iOS 7.0及更高版本 在UIBarCommon.h
。
也许工具栏不适合在顶部使用。但是,您只需添加addSubview:
答案 1 :(得分:1)
尝试实施方法
- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar
来自UIToolbarDelegate
协议的。