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 的相关文章

  • 无法将 (Timer!) -> Void 转换为 ((CFRunLoopTimer?) -> Void)! - 将 NSTimer 扩展转换为 Swift 3

    我正在尝试将我在项目中使用的 Pod 转换为 Swift 3 它不是我编写的 但原作者尚未更新它 所以我将它分叉为我自己尝试的任何内容 但 我在尝试将扩展名转换为NSTimer到斯威夫特 3 Cannot convert value of
  • iOS TestFlight - 外部测试人员未收到新版本通知

    我已经向外部 TestFlight 用户提供了一个应用程序 他们已收到电子邮件并按预期安装了应用程序 他们有版本 1 0 Build 1 不过 我现在已经上传了一个新版本 版本 1 0 版本 2 这已获得批准 在外部测试页面中 我添加并选择
  • 核心数据在没有明显原因的情况下恢复到之前的状态

    基于 Core Data 的 iOS 应用程序的一些客户报告称 他们偶尔会丢失数据 这些报告非常奇怪 这就是我想询问您对此的看法的原因 客户报告说 当他们在一段时间 几分钟 几小时或第二天 后重新打开应用程序时 他们的一些数据会丢失就像底层
  • 如何在 Cocoa with Core Data 中上传和存储文件?

    我有一个应用程序 我希望能够将文件上传到其中 我可以想象序列化数据 将其放入数组中 然后序列化数组并将其放入核心数据中 但这似乎不太正确 我还可以想象将文件复制到应用程序的支持文件中 获取这些文件的 NSURL 并存储数组或 NSURL 无
  • 快速从 appDelegate 中 popToRootViewController

    我试图从应用程序委托弹出到导航堆栈的根视图控制器 并且在将 obj c 中的内容转换为 swift 时遇到一些问题 obj c 中的工作原理 UINavigationController navigationController UINav
  • iOS swift 应用程序启动时出现黑屏

    我有个问题 当我启动我的应用程序时 会看到黑屏几秒钟 然后出现启动屏幕 我的启动画面不是默认的 我使用了视图控制器 因为我的启动画面有一个动画 我搜索了一个解决方案 我得到了这个 在我的闪屏加载 iPhone 之前出现黑屏 https st
  • Expo eas-cli iOS 构建失败

    我已经使用 React Native 创建了一个应用程序 并尝试通过 Expo 的 eas cli 创建一个 iOS 应用程序商店 跑步时eas build platform ios the Fastlane build failed wi
  • 如何获取多点触摸 UITapGestureRecognizer 的多个位置

    我的视图中有一个 UITapGestureRecognizer 我可以使用下面的代码很好地获取其触摸的位置 现在 如果我将此识别器的触摸次数更改为 2 或更多 它仍然会为我提供一个位置 如何获得两次触摸的两个位置 tapGesture lo
  • Objective c:如何只删除目录下的所有文件但保留目录本身

    我发现下面的代码可以删除objective c中的文件 但我只想删除目录下的所有文件Caches并保留目录Caches itself 有人可以建议这样做的方法吗 Thanks NSFileManager filemgr filemgr NS
  • 使用 NSJSONSerialization 解析 JSON

    对此进行了太多讨论 但我不知道如何解决我的问题 这是我从 WorldWeatherOnline 获取的 JSON 数据 JSON 有效 但我不知道如何解析它 这是我的代码 后面是 JSON 请帮忙 NSError errorInfo NSD
  • 我以前没见过的 CGRect 语法

    我在一些示例代码中看到了下面的语法 但不确定我是否理解它 CGRect imageRect CGRect size baseImage size 这只是初始化的一种简写方式吗CGRect相当于 CGRect imageRect CGRect
  • iOS 应用内购买沙箱测试显示我的密码错误

    我在 itunesconnect 中创建了一个 Sandbox Tester 帐户 并通过我在网络上注册的电子邮件验证了电子邮件地址 验证后 我尝试使用沙盒帐户在我的应用程序中购买商品 并收到更改密码的提醒 所以我做了 然后我尝试使用新密码
  • 如何创建一个 NSMutableArray 并为其分配一个特定的对象?

    我刚刚开始接触 Obj C 并且希望创建一个 MKAnnotations 数组 我已经创建了名为的 MKAnnotation 类TruckLocation其中包含名称 描述 纬度和经度 这是到目前为止我所拥有的数组 NSMutableArr
  • ios 8 opengl es 1.1 已停产?

    我们即将在 iOS 应用商店上推出一款游戏 最近我们发现它无法在 iOS 8 上运行 游戏加载到黑屏 但其他一切似乎都可以运行 可以听到音乐 对触摸屏有反应 但显示屏上没有任何反应 我们的引擎相当旧并且使用 OpenGL ES 1 1 我现
  • CoreAnimation 性能分析 - CAReplicatorLayer 与 CAShapeLayer

    我正在制作一个依赖 CoreAnimation 的应用程序 它有一个 CAReplicatorLayer 和一个 CAShapeLayer 作为子层 当进行 12 次复制 然后对路径进行动画处理 在 touchMoved 上更改它 时 一旦
  • iOS 上每个选项的带有图像的操作表

    有没有办法在 iOS 上将图像添加到操作表中 与苹果在应用程序商店或苹果音乐应用程序上所做的一样 我对苹果文档的基本搜索表明我没有在操作表中子类化或添加子视图 UIActionSheet 并非设计为子类化 也不应向其层次结构添加视图 苹果文
  • 如何保存 1 个 xcode 项目中的所有构建设置并在其他 xcode 项目上使用它们?

    我使用 xcode 4 5 和 cordova phonegap 来构建我的应用程序 我投入了大量时间来获取适合我的 Xcode 项目的构建设置 并且我想在我正在构建的多个应用程序上重用这些设置 我正在寻找是否有一种快速的方法来导出这些设置
  • 在 iOS 中管理和解除多个视图控制器

    我是一名 iPhone 新手程序员 在开发我的第一个游戏 应用程序时 我为自己提出了一个问题 创造了一个问题 我对此进行了研究 并认为我已经看到了答案 但我不明白如何使它们适用于我的应用程序 我有一个游戏 有几个视图控制器 欢迎 玩 高分
  • Swift 中的弹出视图

    我有一个弹出视图 没有选项卡栏 它弹出到带有选项卡栏的视图控制器 在带有选项卡栏的视图控制器中 我设置了一个单击按钮 以便弹出视图控制器 IBAction func PopUpClicked sender UIButton gt Void
  • 在 Swift 3 中单击和双击 UITableViewCell

    我在 TableView Cell 上有故事板 segue 我用它来在单元格单击中传输到另一个 VCdidSelectRowAt方法 现在我双击了TapGestureRecognizer处理手机上的点击问题 问题是 单击时 segue 正在

随机推荐

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

    我希望能够调整与回形针一起使用的默认个人资料图像的大小 这是我的模型中的代码 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