如何将我的目标视图放在标签栏的顶部?

Posted

技术标签:

【中文标题】如何将我的目标视图放在标签栏的顶部?【英文标题】:How can I place my target view on top of the tab bar? 【发布时间】:2020-02-05 14:30:10 【问题描述】:

我想将我的 targetView 放在 标签栏 的正上方。我用 targetLabelcancelButton 创建了一个 XIB-File

我试图以编程方式将我的targetView 放在我的 标签栏 的顶部,但如果它们之间没有空格,我不知道该怎么做。

[self addOverlayView:self.targetView x:0 y:self.view.frame.size.height - self.targetView.frame.size.height - 10];

addOverview 是我制作的一个函数,用于将视图放置在您想要的任何位置:

- (void)addOverlayView:(UIView*)v x:(CGFloat)x y:(CGFloat)y

    v.hidden = YES;
    CGRect vFrame = v.frame;
    vFrame.origin.x = x;
    vFrame.origin.y = y;
    
    if ((v.autoresizingMask & UIViewAutoresizingFlexibleWidth) != 0) 
        vFrame.size.width = topView.bounds.size.width;
    
    v.frame = vFrame;
    [v.layer setTransform:CATransform3DMakeTranslation(0, 0, OVERLAY_TRANSLATION_Z)];
    
    [overlayView addSubview:v];
    

我不知道这是否是正确的方法,但它对我有用(到目前为止)。

为了让我的 targetView 正好位于我的 tabBar 上方,我需要进行哪些更改?

【问题讨论】:

【参考方案1】:

删除那个-10并检查

  [self addOverlayView:self.targetView x:0 y:self.view.frame.size.height - self.targetView.frame.size.height];

【讨论】:

这种尝试似乎比理想更暴力。我可以更改该值以使其适合,但是在更改设备时它不起作用

以上是关于如何将我的目标视图放在标签栏的顶部?的主要内容,如果未能解决你的问题,请参考以下文章

如何限制从顶部定位我的标签,但在隐藏导航栏时不让它移动(因为它会调整视图高度)?

当按钮覆盖在tableview顶部时,如何防止tableview单元注册一个tap?

没有标签栏项目的 UITabBarController 中的 UIViewController

设置标签栏的初始视图控制器

如何防止子视图重叠标签栏?

设置表格视图单元格的高度以匹配底部到标签栏顶部