如何创建一个固定的导航栏iOS Swift

问题描述:

我想创建一个固定的标题,它不会与tableViewCells或其他内容一起滚动。标题应该保持原位固定,就像在大多数iOS应用程序中一样。如何创建一个固定的导航栏iOS Swift

这是我面临的问题的图像:

enter image description here

我想在一个NavigationController &一个TabViewController嵌入它。这没有用。

我也尝试添加一个滚动视图。

我提到了这个链接,但它过时的,并没有帮助:how iphone facebook app make the navigation bar fixed

感谢。

+1

嘛'的UINavigationController '增加了一个系统导航栏,它实际上已经固定。你是如何使用它,然后出了什么问题?你在使用故事板吗?您的导航控制器是初始视图控制器吗? – Losiowaty

+0

使用UINavigationController我无法编辑导航栏,添加图像或更改颜色。我只能改变文字。现在我使用新的UINavigationController测试它。导航控制器是初始视图控制器。尽管如此,我无法在故事板中对其进行编辑。目前,我正在使用带导航栏的ViewController,它看起来像我在问题中发布的图像。 – lukaivicev

+0

当然你可以!要更改它的颜色:http://*.com/questions/17014713/how-to-change-uinavigationbar-background-color-from-the-app-delegate并将文本切换到图像(或其他任意视图):http://*.com/questions/8814056/how-to-add-image-in-uinavigationbar-in-iphone-app – Losiowaty

我真的会推荐在导航控制器中玩弄,直到找出来,这真的是最好的方法。如果你已经嵌入它,我会用属性检查器检查你的视图,以确保所有需要的都被启用。

然而,还有另一种方式我以前使用过。创建一个新的ViewController,并在其中创建两个视图。一个将是你的FakeNavBar,另一个将是一个容器/ TableView,它将保存你的数据。

一旦你将这两个添加到你的新VC,只需正常设置它们,并宾果! 一个提示这一点,是NavBar是典型的64点高,所以你的假条会是这样的:

fakeNavBar.frame = CGRectMake(0, 0, theWidth, 64) 
tableView.frame = CGRectMake(0, 64, theWidth, theHeight-64) 

而且你的视图层次结构看起来就像这样: enter image description here

+0

有趣...会尝试这个。 – lukaivicev

+0

当NavBar不切断它时,它工作得很好,让我知道你是否需要更多的信息。 – MQLN

+0

解决一些问题。当我嵌入viewController时,单元格像这样移动:http://postimg.org/image/r90dnesvl/ + http:// postimg。org/image/a9ix9yffd /并且当我将它设置得更高时(出于某种原因,我找不到使得单元更低的约束)单元格仍然不合适并且太高。 – lukaivicev