是否可以在 UIView 上设置顶栏?
Posted
技术标签:
【中文标题】是否可以在 UIView 上设置顶栏?【英文标题】:Is it possible to have top bar on UIView? 【发布时间】:2013-04-18 11:25:43 【问题描述】:我想展示一个带有标准顶栏的UIView
- UIView 标题的黑色导航栏。
-
我创建了一个 xib。
将顶部栏设置为 xib 中的黑色导航栏
将其添加到屏幕上:
_popup = [[[NSBundle mainBundle] loadNibNamed:@"Popup" owner:self options:nil] objectAtIndex:0];
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
_popupBackground = [[UIView alloc]initWithFrame:
CGRectMake(0,0,screenSize.width,screenSize.height)];
_paymentPopupBackground.backgroundColor = [UIColor clearColor];
[_paymentPopupBackground addSubview:_popup];
[[UIApplication sharedApplication].keyWindow addSubview:_paymentPopupBackground];
UIView
出现但没有黑色导航栏。这怎么能解决?
【问题讨论】:
2.Set the top bar to be Black Navigation Bar
,实际上你没有。如果你仔细看,上面写着Simulated Metrics
。
【参考方案1】:
导航栏适用于 UIViewControllers 而不是 UIViews。您可以使用视图顶部的工具栏并呈现它
使样式黑色不透明
【讨论】:
太棒了!是否可以让它看起来像黑色导航栏? 谢谢。正是需要的:)【参考方案2】:要拥有一个导航栏,您只需将 viewController 嵌入到UINavigationController
中。然后你可以为你想要的外观设置 navigationController 的 tintColor。
【讨论】:
我将 UIView 直接固定到窗口。过程中没有涉及到viewController。【参考方案3】:您可以将 UINavigationBar 添加到 UIView,但如果 UIViewController 不在导航堆栈中,则 Interface Builder 中的设置实际上不会做任何事情。
手动将 UINavigationBar 拖到 UIView 中。
只是让您知道,这可能不会为您的用户提供一致的体验,并且可能无法通过审核流程 - 如果您需要导航栏,我强烈建议您使用导航堆栈。
【讨论】:
看起来 Lithu T.V 的回答更适合这种情况。你怎么看? 我同意,UIToolbar 是迄今为止更适合用于 UIView 的控件。这完全取决于控件的用途,而 UIView 不需要 UINavigationBar。附带说明一下,如果您确实需要导航堆栈,但只在屏幕的一部分中,您可以很容易地实现这一点 - 在这种情况下,工具栏不合适。以上是关于是否可以在 UIView 上设置顶栏?的主要内容,如果未能解决你的问题,请参考以下文章