gpt4 book ai didi

ios - 当栏位置为 UIBarPositionTopAttached 时,UIToolbar 阴影不会隐藏

转载 作者:行者123 更新时间:2023-12-01 16:34:22 24 4
gpt4 key购买 nike

我有一个包含两个 View 和一个工具栏的容器 View 。在 ContainerViewController我使用此代码(来自 Apple 的库)“停用”了导航栏的阴影:

[self.navigationController.navigationBar setShadowImage:[UIImage imageNamed:@"TransparentPixel"]];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"Pixel"] forBarMetrics:UIBarMetricsDefault];

我还实现了 UIToolbarDelegate及其方法
- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar 
{
return UIBarPositionTop; //or return UIBarPositionTopAttached;
}

但是工具栏的阴影仍然在导航栏和工具栏之间,而不是在工具栏下方,以将工具栏与内容分开。

任何想法为什么阴影不会改变?或者如何检查工具栏位置是否真的是TopAttached。

编辑:

我尝试做类似这篇文章中描述的事情: UISegmentedControl below UINavigationbar in iOS 7没有搜索栏。
正如那里所解释的,有两个阴影,一个是导航 Controller 中的导航栏,它位于导航栏和工具栏之间。和工具栏的阴影。
如所述,我能够停用导航栏的阴影。它也适用于 viewDidLoad:
但是工具栏的阴影位置不对。使用 positionForBar:方法它应该在工具栏的按钮中,但它停留在顶部(在导航栏和工具栏之间)。

所以我正在寻找故障,为什么它没有改变。

最佳答案

您没有指定您尝试更改阴影的方法,但我猜您正在尝试在 viewDidLoad: 中执行此操作

您的 navigationBar viewDidLoad 中实际上并不存在,而是更改 viewWillAppear: 中的阴影像这样:

-(void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController.navigationBar setShadowImage:[UIImage imageNamed:@"TransparentPixel"]];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"Pixel"] forBarMetrics:UIBarMetricsDefault];
}

关于ios - 当栏位置为 UIBarPositionTopAttached 时,UIToolbar 阴影不会隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29661410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com