导航栏标题视图对齐

2024-07-04

我希望我的导航栏在中间显示两件事。其中之一是列表名称,另一个是用户名称。用户名将放置在列表名称下。到目前为止我所做的是,我以编程方式创建了两个标签和一个超级视图,并设置titleView of navigationItem.

override func viewDidLoad() {
        super.viewDidLoad()
        var rectForView = CGRect(x: 0, y: 0, width: 190, height: 176)
        var viewForTitle = UIView(frame: rectForView)

        var rectForNameLabel = CGRect(x: 0, y: 63, width: 190, height: 30)
        var listNameLabel = UILabel(frame: rectForNameLabel)
        listNameLabel.text = "Name of the List...."
        listNameLabel.textAlignment = NSTextAlignment.Center
        listNameLabel.font = UIFont(name: "HelveticaNeue-Bold", size: 15)

        var rectForListLabel = CGRect(x: 0, y: 93, width: 190, height: 20)
        var usersOfListLabel = UILabel(frame: rectForListLabel)
        usersOfListLabel.text = "some Users...."
        usersOfListLabel.textAlignment = NSTextAlignment.Center
        usersOfListLabel.font = UIFont(name: "HelveticaNeue", size: 10)

        viewForTitle.addSubview(listNameLabel)
        viewForTitle.addSubview(usersOfListLabel)


        self.navigationItem.titleView = viewForTitle

The thing is, I'm picking width randomly, which leads to alignment problems in different devices. How to achieve middle alignment in my case? iphone 6


方法:

  • titleView始终居中
  • 因此,将自定义视图的宽度设置为与navigationBar(宽度-40)

Code

private func setupNavigationItems() {
    
    let label = UILabel()
    
    label.translatesAutoresizingMaskIntoConstraints = false
    
    label.text = "aaaaa"
    label.backgroundColor = .green
    
    label.textAlignment = .left
    
    navigationItem.titleView = label
    
    if let navigationBar = navigationController?.navigationBar {
        
        label.widthAnchor.constraint(equalTo: navigationBar.widthAnchor, constant: -40).isActive = true
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

导航栏标题视图对齐 的相关文章

  • Xcode 6 具有 Swift 超慢打字和自动完成功能

    是只有我还是 Xcode 6 6 0 1 with Swift 似乎是超级慢当您键入代码时 尤其是使用自动完成功能时 一个普通的 Objective C 类 即使在 Swift 项目中 工作原理也几乎和以前一样 所以是 Swift 杀死了它
  • AVAssetResourceLoaderDelegate 未被调用

    我一直在尝试在AVAssetResourceLoaderDelegate协议但它似乎从未被调用 我已经验证一切都发生在主线程上 从创建AVURLAsset 创建AVPlayerItem 创建委托 并将委托队列设置到主线程 我正在尝试流式传输
  • iOS 9 中的触觉

    您可以在 iPhone 6s 上使用 iOS 9 中的 Taptic 引擎吗 WatchOS2 和 OS X 能够使用触觉引擎 所以我认为 iOS 9 中也会有 但我找不到任何 API 是的 我对内部进行了逆向工程UIKit我发现了另一种
  • 如何在 MKMapView iOS 中显示多个注释?

    我是 iOS 开发新手 我想在 iOS 中的 MKMapViewController 中显示多个注释 为此我在 viewDidLoad 方法中编写了代码 void viewDidLoad super viewDidLoad self map
  • 如何更改导航栏上 BarButtonItem 的文本?

    我正在尝试创建一个可以编辑的项目列表 像这样的东西 为此 我在视图顶部添加了一个导航栏 然后在 XCode 设计器中添加了 2 个栏按钮项 我将左侧按钮的标识符设置为 添加 将右侧按钮的标识符设置为 编辑 当我单击 编辑 时 我想将文本更改
  • 像 peek and pop 一样手动振动 iPhone 6S?

    如何手动触发类似单击的振动 就像使用 peek pop 或应用程序快捷方式时发生的振动一样 这个方法很容易实现 而且效果非常好 我自己尝试过 import AudioToolbox AudioServicesPlaySystemSound
  • 如何才能运行性能测试十次以上?

    默认情况下 Xcode 性能测试会运行十次 我的结果是这十次测试的平均值 问题是每次运行时平均结果变化很大 因此我必须运行测试至少五次才能获得收敛结果 这既乏味又耗时 有没有办法配置 XCode 或单元测试本身运行十次以上 XCTestCa
  • 提交到 AppStore:发现意外的 Mach-O 标头代码:0x72613c21

    我构建了一个 iOS 应用程序 我想将其提交给 Apple 以便让我的同事测试它 我首先清理了工作区 我使用的是 CocoaPods 然后将其存档 然后我进入 档案 窗口并单击 上传到 App Store 出现以下错误 发现意外的 Mach
  • AirPrint UIView 的内容

    我正在尝试通过 iPad 应用程序设置打印 其中单击 打印 将打印包含其所有内容的视图 这是我尝试过的 从网上的一些示例中提取的 This is the View I want to print Just a 200x200 blue sq
  • 蓝牙管理器在 iOS 7 上不工作

    我尝试在 iOS 7 上的应用程序中使用蓝牙管理器 但它似乎不起作用 Calling setEnabled and setPowered 蓝牙管理器上没有任何效果 我正在注册通知 BluetoothAvailabilityChangedNo
  • UIBarButtonItem 单击后没有反应

    来自rootViewController我导航到UIViewController if self contr nil ExampleViewController controller ExampleViewController alloc
  • iOS Swift:谷歌登录错误

    我正在关注this https developers google com identity sign in ios sign in ver swift before you begin使用 swift 在我的 iOS 应用程序中添加 go
  • UICollectionView - 如果选择了单元格,则不会调用 didDeselectItemAtIndexPath

    我做的第一件事是设置选定的单元格 UICollectionViewCell collectionView UICollectionView collectionView cellForItemAtIndexPath NSIndexPath
  • 构建并运行在 xcode 中禁用

    有一些应用程序显示构建并运行图标已禁用 这使我无法运行该应用程序 并非所有应用程序都会发生这种情况 但只有少数应用程序会发生这种情况 它主要发生在 facebook 应用程序和其他一些应用程序中 有人能知道可能是什么问题吗 我已经尝试了更改
  • 如何在 iOS 7 中将 CSV 文件关联到我的应用程序

    今天是个好日子 我逐行遵循这两个教程 尝试将我的应用程序关联到 csv 文件 电子邮件应用程序附件 但是在我将这些更改添加到我的应用程序的 plist 文件中之后 然后构建我的应用程序并在我的设备 iPhone 4 iOS 7 0 4 没有
  • 在 Xamarin.Forms 中添加方向更改布局

    我需要实现的是 在将屏幕从纵向更改为横向时向现有页面添加布局 我已经成功地使用检测方向变化void OnSizeAllocation 双倍宽度 双倍高度 但我无法为此事件添加布局 我的示例 C 代码是 public class MyLayo
  • 同时在不同层中使用多个 CAKeyframeAnimation

    现在有人知道如何使用 CAKeyframeAnimation 同时对多个图层进行动画处理吗 每个层都有自己的 CAKeyframeAnimation 对象 看看下面的代码 我有一个接收对象 创建 CAKeyframeAnimation 并将
  • IOS - React Native - 未处理的 JS 异常:SyntaxError

    每当我创建新的 React Native 项目时 我都会遇到问题 显示红色屏幕 并在 xcode 控制台中收到以下错误消息 嗨 我有同样的问题 在这里找到了解决方案 https github com facebook react nativ
  • iOS 7 AVPlayer AVPlayerItem 持续时间在 iOS 7 中不正确

    我的应用程序中有以下代码 NSURL url NSURL fileURLWithPath self DocDir stringByAppendingPathComponent self FileName isDirectory NO sel
  • 界面生成器中 UIView 的边框颜色不起作用?

    我正在尝试通过 IB 设置视图的图层属性 除了边框的颜色之外 一切正常 属性layer borderColor 我记得一年前遇到过这个问题 最终我以编程方式解决了这个问题 而且 我仍然可以以编程方式执行此操作 但我很好奇为什么layer b

随机推荐

  • Firebase 持久性如何存储我的 Android 应用的本地数据

    我正在制作一个类似于 WhatsApp 的 Android 应用程序 在该应用程序中 用户可以发送文本和图像 为了保存消息以便可以离线查看 我使用了 FirebaseDatabase getInstance setPersistenceEn
  • 在 CSS 中当场增长一个元素

    我有很多跨度 它们是盒子里的center标签 我希望当用户将鼠标悬停在每个框上时 每个框都会就地生长 这是行不通的 因为它会移动所有其他元素 而且看起来不太好 square hover background color yellow wid
  • 可与 Microsoft Access 中的“CREATE TABLE”一起使用的字段类型

    我对为 Microsoft Access 生成表创建脚本感到不满 我还没有找到任何描述各种类型的语法的文档 我有找到了文档 http msdn microsoft com en us library bb177893 aspx对于 Acce
  • mxGraph - 导出到图像

    我正在尝试将 mxGraph 导出为 PNG 图像 在图中 HTMLLabels 设置为 true 和用于顶点标签的自定义 html 格式 使用 Div 标签 内容 在导出的图像中 显示的是原始 html 标签 而不是格式化的标签 这是 j
  • 英特尔 MKL 致命错误:无法加载 mkl_intel_thread.dll

    之前我也问过类似的问题 cx Freeze 无法找到 mkl MKL 致命错误 无法加载 mkl intel thread dll https stackoverflow com questions 57493584 cx freeze u
  • sklearn cross_val_score如何使用kfold?

    我是机器学习新手 正在尝试理解cross val score使用 Kfold 将数据拆分为 k 个折叠 kf KFold n splits 2 cv results cross val score model X train Y train
  • 如何设置matplotlib的latex路径

    我正在尝试使用 matplotlib 绘制乳胶图 我已经用 pip 安装了 Latex 这example https matplotlib org users mathtext html example效果很好 import numpy a
  • 在 Windows 上安装 NumPy

    我根本无法在 Windows 上安装 NumPy 我不断收到此错误 PS C python27 gt pip install http sourceforge net projects numpy file NumPy Collecting
  • iOS8 - 通过 itms / MDM 分发企业应用程序

    在 iOS6 和 7 中 我们已经使用以下方法成功分发了 iPad 企业应用程序itms通过我们客户网站上的页面进行方法 这对于客户来说既简单又可靠 在 iOS8 中 正如其他人所指出的 文档为itms发行版已经消失 并且清单 plist
  • 在python中使用(密码)解密SHA1

    我有一个在 Python 中使用 SHA 1 进行加密的函数 使用hashlib 我获取一个文件并使用此哈希对内容进行加密 如果我为加密文本文件设置了密码 我可以使用该密码解密并恢复原始文本文件吗 哈希函数与普通的加密算法不同 它们通常被称
  • C# 中的部分方法说明

    我很难理解的用法部分方法 您能否提供一个与 LINQ 或此类数据库无关的示例 部分方法是否与我们在 WinForms 中并在其后面进行编码时一样 如果我们使用一个方法 它会被编译 但如果我们不这样做 那么它会被编译器删除 那是对的吗 当您拥
  • Java Appengine APPSTATS 导致 java 内存不足错误

    我的 java appengine 应用程序中有几个 servlet 它们在内存中进行排序 并需要几秒钟的时间才能完成 这些完全没有错误 但是 我最近为 appengine 启用了 appstats 并开始收到以下错误 java lang
  • 从控制器访问 Liip Imagine 包 - 将服务分配给变量 (Symfony 4)

    On Symfony 4 如何从 PHP 代码中访问 Liip Imagine 包 https stackoverflow com questions 54543563 symfony 4 how do i access the liip
  • 我的标准差计算可以更加高效吗?

    我很好奇我的标准差方法是否可以变得更有效 我所说的高效是指快速 而快速是指从方法调用到方法返回的延迟 这是代码 public double stdDev ArrayList
  • 当本机应用程序启动时,将初始状态从 API 调用传递到 createStore

    当我的反应本机应用程序启动时 我在初始化 redux state 时遇到问题 我需要在应用程序启动之前进行 api 调用以检索数据以补充我的状态 我想将此调用的结果传递给我的 Provider JSX 元素中的 createStore 函数
  • Eclipse中的TFS比较(无法从左到右复制)

    我在 Eclipse 中遇到 TFS 问题 它工作得很好 但是当我尝试签入时 我被通知我发送的文件与服务器上存储的文件有冲突 我无法将更改从左侧 本地文件 复制到右侧 服务器 在比较窗口中 我只能从右到左复制 从左到右复制全部 和 从左到右
  • 在 ggplot 中为 R 中的分类变量 x 轴绘制垂直线时出现问题

    我有下表 我想使用每个县的 st date wk 列绘制一条垂直线 请参阅下面的代码 但它不会使用 st date wk 列绘制垂直线 无法弄清楚我在这里做错了什么 任何帮助表示赞赏 Thanks dfx1 YEAR Week Area a
  • iPhone 上的图像处理

    我想对 iPhone 拍摄的照片进行图像处理 该处理将涉及二维矩阵卷积等 我担心嵌套的性能NSArrays会很糟糕 操作基于像素的图像的正确方法是什么 我应该简单地使用分配的 C 数组吗malloc 你有没有看过石英二维 http deve
  • 从数组中获取特定长度的所有可能的字符串组合的算法

    从给定数组中获取具有最小和最大长度值的所有可能的字符串组合的最佳算法是什么 注意 这会增加复杂性 因为与这些链接到的问题不同 该值是可变的 例如 letters array a b c 1 2 3 min length 1 max leng
  • 导航栏标题视图对齐

    我希望我的导航栏在中间显示两件事 其中之一是列表名称 另一个是用户名称 用户名将放置在列表名称下 到目前为止我所做的是 我以编程方式创建了两个标签和一个超级视图 并设置titleView of navigationItem override