我正在为我的iOS毕业项目开发一款聊天应用。我设计了以下导航栏:
现在我正在尝试在我的Xcode项目中开发上面的图形,但我不知道这是否是实现它并获得像图形一样的效果的正确方法。我使用一个xib文件,在我的ViewController.swift中使用它的实例进行加载。然后将其作为navigationItem的titleView添加:
let helperView = HelperView()
navigationItem.titleView = helperView
这是以上代码片段的结果:
这个结果的问题是它重叠了左侧的按钮项,还有一个问题,我还没有解决,那就是当消息气泡有多行时(最多3行),它能够具有动态高度。有人在Xcode中使用这种设计有经验吗?这是正确的方法吗?还是有更好的实现方法?也许可以使用自定义UINavigationController类?
viewDidAppear
函数中?subview应该是什么? - CasperthelperView
。您可以将上述代码添加到viewDidLoad
中,但请保留指向您的helperView
的指针变量,以便在viewDidLayoutSubview
中调整框架大小。 - Tj3nviewDidAppear
中,它可能会出现闪烁的情况;如果放在viewDidLoad
中,它可能会有错误的框架。因此,你可能想要在视图控制器范围内声明headerView
,以便在viewDidLayoutSubview
中更改其框架。 - Tj3nviewDidLoad
中,但在viewDidLayoutSubviews
中更改 headerView 的 frame。 - Tj3n