Ios UINavigationBar背景阴影
当我切换到我制作的UIViewController时,我遇到了一个奇怪的问题。ViewController B(我要访问的)有一个UIView,它使用TransitionCoordinator和约束向下滑动,但它在右侧显示灰色阴影,如下所示: 完成segue后,它将返回半透明状态,并通过UINavigationBar以漂亮的模糊显示蓝色UIView 此灰色阴影很可能是由于我从中选择的UITableViewController上该工具栏中的UIToolBar和UISegmentedControl造成的。看起来是这样的: 我将此代码与UIToolBar一起使用:Ios UINavigationBar背景阴影,ios,objective-c,uinavigationcontroller,uinavigationbar,uitoolbar,Ios,Objective C,Uinavigationcontroller,Uinavigationbar,Uitoolbar,当我切换到我制作的UIViewController时,我遇到了一个奇怪的问题。ViewController B(我要访问的)有一个UIView,它使用TransitionCoordinator和约束向下滑动,但它在右侧显示灰色阴影,如下所示: 完成segue后,它将返回半透明状态,并通过UINavigationBar以漂亮的模糊显示蓝色UIView 此灰色阴影很可能是由于我从中选择的UITableViewController上该工具栏中的UIToolBar和UISegmentedControl
- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
return UIBarPositionTopAttached;
}
-(UIBAR位置)位置FORBAR:(id)bar{
返回UIBarPositionTopAttached;
}
我曾尝试使用TransitionCoordinator使用UIToolBar的alpha属性淡出它,但没有成功。我也访问了其他类似的问题,但我没有得到任何进展
奇怪的是,它有时会正常工作,但我不明白为什么它不总是发生,也不知道如何完全消除它
查看层次结构:
Xcode视图层次结构:
查看列表中的层次结构:
透明导航栏:
更多信息:
- 下拉UITableView也会显示此信息,如何连接UIToolbar?看起来委托方法无法正常工作
- 将新项目添加到列表时,问题将消失,直到重新启动导航层次结构中的根ViewController
- (void)removeShadowLineFromNavBar{
for (UIView *view in self.navigationController.navigationBar.subviews) {
for (UIView *view2 in view.subviews) {
if ([view2 isKindOfClass:[UIImageView class]]) {
[view2 removeFromSuperview];
}
}
}
}
该行作为子视图在UINavigationBar中是一个
UIImageView
。浏览子视图时,您可以像从超级视图中删除任何其他视图一样删除它。我在目标ViewController底部的模糊(正常)UIToolBar上看到了相同的效果。你认为这也能解决这个问题吗?今天晚些时候,代码删除了这一行,但我仍然遇到灰色阴影问题。我还需要一种恢复此UIImageView阴影线的方法,因为我需要在同一导航堆栈中的其他ViewController上使用它