Swift 3 以编程方式创建 UILabel 并添加 NSLayoutConstraints

2023-11-27

您好,我正在尝试以编程方式创建一个标签并添加 NSLayoutConstraints ,以便无论屏幕大小和方向等如何,它都位于超级视图的中心。我已经看过,但只是找不到可以遵循的示例。这是我所拥有的:

let codedLabel:UILabel = UILabel()
codedLabel.frame = CGRect(x: 100, y: 100, width: 200, height: 200)
codedLabel.textAlignment = .center
codedLabel.text = alertText
codedLabel.numberOfLines=1
codedLabel.textColor=UIColor.red
codedLabel.font=UIFont.systemFont(ofSize: 22)
codedLabel.backgroundColor=UIColor.lightGray

let heightConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 200)

let widthConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 200)

codedLabel.addConstraints([heightConstraint, widthConstraint])

let verticalConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.centerY, relatedBy: NSLayoutRelation.equal, toItem: self.contentView, attribute: NSLayoutAttribute.centerY, multiplier: 1, constant: 0)

let horizontalConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.centerX, relatedBy: NSLayoutRelation.equal, toItem: self.contentView, attribute: NSLayoutAttribute.centerX, multiplier: 1, constant: 0)

self.contentView.addConstraints([verticalConstraint, horizontalConstraint])

self.contentView.addSubview(codedLabel)

NSLayoutAnchor这是 iOS 9 中的新功能,它极大地清理了约束语法。

let codedLabel:UILabel = UILabel()
codedLabel.frame = CGRect(x: 100, y: 100, width: 200, height: 200)
codedLabel.textAlignment = .center
codedLabel.text = alertText
codedLabel.numberOfLines=1
codedLabel.textColor=UIColor.red
codedLabel.font=UIFont.systemFont(ofSize: 22)
codedLabel.backgroundColor=UIColor.lightGray

self.contentView.addSubview(codedLabel)
codedLabel.translatesAutoresizingMaskIntoConstraints = false
codedLabel.heightAnchor.constraint(equalToConstant: 200).isActive = true
codedLabel.widthAnchor.constraint(equalToConstant: 200).isActive = true
codedLabel.centerXAnchor.constraint(equalTo: codedLabel.superview!.centerXAnchor).isActive = true
codedLabel.centerYAnchor.constraint(equalTo: codedLabel.superview!.centerYAnchor).isActive = true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3 以编程方式创建 UILabel 并添加 NSLayoutConstraints 的相关文章

  • ReactiveCocoa 将 SignalProducers 合二为一

    我正在使用 ReactiveCocoa 并且我有几个 SignalProducers let center NSNotificationCenter defaultCenter let signalProducer1 center rac
  • 贴纸包会在模拟器上使 iMessage 崩溃,但在 iPhone 上不会崩溃

    按照 Apple 的在线说明和视频在 Xcode 中创建了一个贴纸包 所有图像的尺寸均正确且远低于文件大小阈值 如果我在我的实体 iPhone 上构建并运行贴纸包 一切都会完美运行 如果我在模拟器上构建并运行贴纸包 对于任何模拟的 iPho
  • watchOS 错误:控制器接口描述中的未知属性

    我将 WKInterfacePicker 添加到情节提要中 并将其连接到界面控制器中的 IBOutlet 运行应用程序时 它在控制台中显示一条错误消息 控制器的接口描述 watchPicker 中的未知属性 Code interface I
  • 如何在 UICollectionView 中将行居中?

    我有一个UICollectionView与随机细胞 有什么方法可以让我将行居中吗 默认情况下它是这样的 x x x x x x x x x x x x x x 这是所需的布局 x x x x x x x x x x x x 我必须做这样的事
  • 在 Swift 中从 Parse 加载图像

    我成功地将数据从 Parse 提取到 swift 中 但我的图像似乎没有按照我的方式工作 在我的 cellForRowAtIndexPath 方法中 我执行以下操作 var event AnyObject eventContainerArr
  • 模态转场需要点击 2 次而不是 1 次

    我的 UITableView 需要点击 2 次才能显示所选单元格的详细信息页面 一次用于选择 另一次用于显示详细信息视图 我希望有一个 CLI 直接显示所单击单元格的详细视图 我在 UITableViewManager m 中使用此方法的模
  • 是否可以跨 2 个不同的 iOS 应用程序访问数据?

    假设我在 App1 中存储了一些 ID 数据 并希望在同一设备上的 App2 中访问它 平台上可以这样吗 如果没有的话有什么解决方法吗 您可以使用iOS 钥匙扣 http developer apple com library ios do
  • CAShapeLayer 上的渐变颜色效果

    我正在尝试在 CAShapeLayer 上应用渐变颜色 为此我编写代码 void addCircle Drawing code UIBezierPath aPath UIBezierPath bezierPathWithArcCenter
  • Swift - 我可能已经删除了 Apple Swift Packages 集合

    我对 swift 和 XCode 很陌生 昨天我正在开发一个项目 想尝试一下某人制作的自定义日期选择器 所以我转到 添加包 并粘贴 GitHub 链接并添加它 我已经在我的项目中添加了一个名为 KeychainAccess 的不同包 方式
  • 在 Swift 中有条件导入基于 iOS 版本的框架(如 Speech)?

    有没有办法有条件地导入框架Swift基于运行时 iOS 版本 特别是 我有一个部署目标为的应用程序iOS 8 我想使用新的Apple Speech应用程序中的框架 如果在运行时可用 我知道 available iOS 10 代码部分的指令
  • SwiftUI DisclosureGroup 单独展开每个部分

    我正在使用 Foreach 和 DisclosureGroup 来显示数据 每个部分都可以展开 折叠 然而 它们都在同时扩展 折叠 如何单独展开 折叠每个部分 struct TasksTabView View State private v
  • 寻找可靠的方法来选择iPhone 13微距相机设备

    我正在使用 objc 开发一个应用程序 我必须选择 iPhone 13 Pro 和 13 Pro Max 中配备的新微距摄像头 目前 我在所有其他设备上选择我的相机 并剪掉此代码 AVCaptureDeviceDiscoverySessio
  • CSS 安全区域属性在 iPhone X 上不起作用

    就我而言 我正在 iPhone X 上运行一个 Web 应用程序 我尝试在顶部添加一个填充 以使用 Webkit 的安全区域 css 属性将我的身体推到安全区域padding top constant safe area inset top
  • 核心数据executeFetchRequest消耗大量内存

    我正在核心数据数据库中插入 cca 100 000 条记录 数据库包含 3 个实体 球员 俱乐部 球员俱乐部 实体之间存在关系 玩家 gt 玩家俱乐部俱乐部 在 PlayerClub 中插入时 我注意到插入大约 50 000 条记录后会消耗
  • Objective c RSA 与 OAEP 填充 sha256 之前的 ios 10

    我正在研究一种在iPhone中使用RSA加密方法的加密方法 到目前为止我可以用这种方法实现获取加密字符串 该字符串被服务器成功解密 SecKeyRef keyRef self addPublicKey pubKey SecKeyAlgori
  • ios GPUImage,小尺寸图像处理效果不好?

    我正在尝试为 OCR 准备图像 我使用 GPUImage 来完成 代码工作正常 直到我裁剪图像 裁剪后我得到了糟糕的结果 作物面积 https www dropbox com s e3mlp25sl6m55yk IMG 0709 PNG h
  • 如何将 RGB 值转换为十六进制字符串 iOS swift

    我想将 RGB 值转换为十六进制字符串 我将十六进制转换为 RGB 如下所示 但反之亦然 func hexStringToRGB hexString String gt red CGFloat green CGFloat blue CGFl
  • 如何获得 UICollectionView 的矩形

    我想在 UICollectionView 中找到节标题的框架 我对 UITableView 也有类似的情况 为此 我能够通过执行以下操作来获得其正确性 CGRect rect self tableView rectForHeaderInSe
  • AST 文件格式错误或损坏

    我有一个问题 我不知道为什么会发生这种情况 但很可能是因为我错误地按了 移动到垃圾箱 到某些系统框架 我收到一条错误消息 AST 文件格式错误或损坏 找不到 AST 文件引用的文件 Users username myProject Quar
  • iOS 版 Google 地图 sdk 中折线的轮廓

    我的要求是在地图上显示一条绿色折线 但当地图切换到卫星视图时 绿色折线变得不清楚 我无法改变折线的颜色 因此 为了将折线与背景 地图的卫星视图 区分开来 我需要为折线绘制白色轮廓 我浏览了 GMSPolyline 类的文档 但找不到任何可以

随机推荐

  • 使用回形针调整默认图像大小时遇到​​问题

    我希望能够调整与回形针一起使用的默认个人资料图像的大小 这是我的模型中的代码 has attached file photo styles gt tiny gt 25x25 thumbnail gt 100x100 small gt 150
  • 使用 phpmailer 发送异步电子邮件

    是否可以使用 phpmailer 发送异步电子邮件 普通邮件发送代码片段如下 mail gt Send PHP 等待 Send 返回结果 然后再继续 是否可以让 phpmailer 立即返回结果 而无需等待真正的电子邮件发送例程完成 201
  • PreparedStatement很慢,但是手动查询很快

    我有一个来自框架的准备好的声明 如下所示 SELECT OH ORDER ID MAX OS STATUS DATETIME FROM public ORDER HEADER OH public ORDER STATUS OS WHERE
  • 在 Eclipse 中附加 jar 的源

    我添加了一个Student jar进入我的Build Path在我的日食中这样 右键单击项目 gt BuildPath gt 配置构建 路径 gt 库 gt 添加外部罐子 有一个类名为StudentTest in Student jar文件
  • 从实体框架连接字符串创建 DataContext?

    我试图在我的代码中进行此调用 string conn ConfigurationManager ConnectionStrings MyDBEntities ConnectionString DataContext context new
  • HTML DTD - 有什么意义? [复制]

    这个问题在这里已经有答案了 可能的重复 html 中有哪些不同的文档类型以及它们的含义是什么 由于对 Web 开发的某些方面相当缺乏经验 我总是更关注后端而不是前端 任何人都可以告诉我他们的想法 我是否应该担心网页开头所做的 DOCTYPE
  • 通过网页抓取提取 JavaScript 变量值

    对于一个公司项目 我需要使用 PHP 和 JavaScript 包括 jQuery 创建一个网络抓取应用程序 该应用程序将从客户网站的每个页面中提取特定数据 抓取应用程序需要为每个页面获取两种类型的数据 1 确定是否存在具有特定 ID 的某
  • 如何通过 AWS API Gateway 将多个 Cognito 用户池用于单个端点?

    我最近实现了一个 API 网关作为具有单个代理端点的代理 我使用 Cognito 作为授权机制 只要我只有一个用户池 一切都很好 我想要实现的是能够允许来自不同用户池的用户 但在AWS控制台中我似乎只能选择一种Cognito机制 而该机制只
  • Google Datastore 综合索引问题

    我遇到以下异常 Exception in thread main com google cloud datastore DatastoreException no matching index found recommended index
  • 获取所有维基百科信息框模板和使用它们的所有页面

    给定一个维基百科页面 例如维基百科 堆栈溢出通常会有信息框 主要位于页面顶部的右侧 截图示例 DBPedia 将所有这些属性列为 RDF 三元组 您可以在以下位置查看示例DBPedia 堆栈溢出 在那里你可以看到该房产dbpprop wik
  • asp.net core razor页面支持删除和放置请求

    最近 我读到有关 asp net core razor 页面中的请求处理的内容 它说它支持head使用约定的请求 public void OnHead 它工作得很好 然后我也尝试使用相同的约定进行删除 public void OnDelet
  • 删除尾部斜杠

    我想处理没有尾部斜杠的页面 所以现在我希望带有尾部斜杠的 URL 重定向 使用 htaccess 到不带尾部斜杠的相同 URL 我有两个 htaccess 文件
  • 错误:未处理的异常:'package:flutter/src/widgets/navigator.dart':断言失败:第 2845 行 pos 18:'!navigator._debugLocked':不是 true [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我面临一个问题Unhandled Exception package flutter src widgets navigator dart Failed assertion line 28
  • 替换Python中字符串的一部分?

    我使用正则表达式从网页获取字符串 部分字符串可能包含我想用其他内容替换的内容 怎么可能做到这一点 我的代码是这样的 例如 stuff Big and small if stuff find and 1 make stuff Big smal
  • 主题:忙等待 - 空 While 循环 [重复]

    这个问题在这里已经有答案了 在大学的课程中 我们了解到Threads并使用 忙等待 方法作为示例Car等待在一个TrafficLight 对于此任务 我们构建三个类 TrafficLight implements Runnable Car
  • 如何在一个会话中发送多封电子邮件?

    我想要向不同的收件人发送数千封不同的电子邮件 并且想要打开与我的 SMTP 的连接并保留它 我希望这比重新打开 ervy 邮件的连接更快 我想使用 Apache Commons Email 但如果需要的话可以回退到 Java Mail AP
  • python-vlc 不会启动播放器

    好的 开始吧 我正在尝试播放在线视频 我得到了网址 如下所示 http fsi stanford edu sites default files video 4 mp4它不是我将在我的应用程序中使用的东西 但它只是一个示例文件 阅读 pyt
  • 使用自定义签名定义保存 TF2 keras 模型

    我有一个 Keras 顺序 模型 可以使用 Tensorflow 1 13 中的自定义签名定义进行保存 如下所示 from tensorflow saved model utils import build tensor info from
  • 在 Windows 上安装用于 ruby​​ 的 ncurses

    我正在尝试在 Windows 上为 ruby 安装 ncurses 我之前没有在我的机器上安装过 ncurses 我认为拥有 红宝石开发套件 它要求就足够了 但现在我被要求指定选项 我不知道该选择哪些选项 或者我是否需要执行 安装其他操作才
  • Swift 3 以编程方式创建 UILabel 并添加 NSLayoutConstraints

    您好 我正在尝试以编程方式创建一个标签并添加 NSLayoutConstraints 以便无论屏幕大小和方向等如何 它都位于超级视图的中心 我已经看过 但只是找不到可以遵循的示例 这是我所拥有的 let codedLabel UILabel