首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Swift 3|以编程方式添加约束不会使我的子视图居中

是一种编程语言,用于开发iOS、macOS、watchOS和tvOS应用程序。它是苹果公司推出的一种现代、安全、高效的编程语言。

在Swift 3中,可以使用编程方式添加约束来控制子视图的布局,但这并不会自动使子视图居中。要使子视图居中,需要添加适当的约束。

以下是一种常见的方法,可以使用Swift 3编程语言来使子视图居中:

  1. 创建一个父视图和一个子视图。
  2. 将子视图添加到父视图中。
  3. 确保子视图的translatesAutoresizingMaskIntoConstraints属性设置为false,以便手动添加约束。
  4. 添加约束来使子视图居中。可以使用以下约束:
  • 水平居中约束:将子视图的中心X与父视图的中心X对齐。
  • 垂直居中约束:将子视图的中心Y与父视图的中心Y对齐。

以下是使用Swift 3编程语言实现上述步骤的示例代码:

代码语言:swift
复制
import UIKit

// 创建父视图和子视图
let parentView = UIView()
let childView = UIView()

// 将子视图添加到父视图中
parentView.addSubview(childView)

// 禁用自动布局
childView.translatesAutoresizingMaskIntoConstraints = false

// 添加约束使子视图居中
NSLayoutConstraint.activate([
    childView.centerXAnchor.constraint(equalTo: parentView.centerXAnchor),
    childView.centerYAnchor.constraint(equalTo: parentView.centerYAnchor)
])

// 在此处可以对子视图进行其他设置和配置

// 最后,将父视图添加到视图层次结构中
// 例如,将父视图添加到ViewController的视图中

这样,通过编程方式添加的约束将使子视图居中。

对于Swift 3中使用编程方式添加约束的更多信息,可以参考苹果官方文档中的Auto Layout Guide:Auto Layout Guide

腾讯云提供了一系列与移动开发和云计算相关的产品和服务,可以根据具体需求选择适合的产品。例如,腾讯云提供了移动应用开发平台、移动推送服务、移动测试服务等。您可以访问腾讯云官方网站了解更多详情:腾讯云移动开发

请注意,本回答仅提供了一种解决方案,并且没有涉及到特定的腾讯云产品。具体的产品选择和推荐应根据实际需求和情况进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS开源界面布局库终于破3000star

经过几年打磨和多次重构,iOS开源界面布局库MyLayoutstar数量终于在2018年8月6号破3000了!有图为证: ? MyLayout 还有Swift版本TangramKit: ?...于是就开始着手写了布局库第一个版本,现在都还保留着这个类实现和声明: //用于线性布局视图属性,描述离兄弟视图间隔距离,以及在父视图比重。...因此线性布局比较适合通过代码方式来 构造视图。同时适合于将线性布局作为scrollview视图来布局。因为线性布局在位置调整后会 如果是使用自动布局则这个类将无效。...@property(nonatomic, assign, getter =isAutoAdjustSize) BOOL autoAdjustSize; //视图是否在指定方向居中。...需要设置约束少,不需要像AutoLayout那样无论是位置和尺寸都需要明确通过设置约束来指定。有些时候可能只需要一两个属性就可以把所有视图位置和尺寸都设置完成。

1.9K40

iOS开发常用之UI模糊效果、自动版式

使用DEMO 视图居中显示,视图含边距,视图等距离摆放,计算ScrollView内容。 Classy - Classy是一个能与UIKit无缝结合stylesheet(样式)系统。...Cartography - Cartography是用来声明SwiftAuto Layout,无需输入任何字符串就职设置自己Auto Layout约束声明。...Auto-Layout-Showcase - swift,AutoLayout进阶演示,宽高比约束,比例约束,不等约束,视差约束,低优先级约束等高级用法,无需写码即可进行复杂页面布局,Demo还动态模拟了各屏幕下效果...来自百度知道iOS小组内部分享。 UIView-FDCollapsibleConstraints - 一个AutoLayout辅助工具,最优雅方式解决自动布局中子查看动态显示和隐藏问题。...EasyPeasy.swift - 编程方式自动布局框架库。

1.6K30
  • iOS 关于Interface Building 一些小技巧

    从纯代码UI -> 最初Xib -> StoryBoard ,感受到UI搭建也是逐渐可视化,简单化。是一个可视乎开发支持者,有一些朋友不喜欢,这个纯属个人爱好,风格不同。...Fill Spacing:该属性会保持视图宽高,所有视图中间间隔保持一致。 Fill Center: 该属性是控制所有视图中心之间距离保持一致。...约束:三个Button等宽等高,均匀分布到屏幕,关键点是Tab3约束 优先级作用简单总结一下:一个元素可以同时存在两个相同作用约束,优先级必须有先后,当其中一个失效,另一个就会使用,这样当我们删除相关元素...还没有结束,上述过程是空间充足情况如果空间不足的话,还会出现报错。 ? 现在我们希望Label2被压缩,所以同理调高优先级即可。 3....(coder: NSCoder)初始化方法中,添加xib视图。 import UIKit class SbView: UIView { required init?

    1.8K31

    将模型添加到场景中 - 在您环境中显示3D内容

    调整大小填充整个视图控制器。 约束 然后,单击Storyboard编辑器左下角第四个图标,将新约束添加到场景视图中。定义约束确保您用户界面适应不同屏幕尺寸或设备方向。...设置为0顶部,左,右和底部。确保它们都被约束视图而不是安全区域,然后单击Add Constraints。安全区域是凹口下方和主页指示器上方边距,通常是屏幕可见部分。...添加按钮 我们想在视图添加一个按钮,用作在场景中添加模型触发器。从对象库中,将UIButton拖动到场景视图顶部。在“ 属性”检查器中,删除“ 按钮”标题并将图像设置为“ 按钮/添加”。...约束到底部20但这次是在安全区域,并取消选中Constrain到边距。然后,将鼠标悬停在左侧“ 对齐”图标上,并在“容器”中选中“水平”在屏幕中水平居中。...{} 与飞船场景类似,我们将使用我们指定名称调用场景。然后,检索该场景SketchUp父节点。我们递归设置为false返回具有该名称直接节点。

    5.5K20

    Swift 项目 - Xib | StoryBoard 多人协作技巧

    StoryBoard 和 Xib 都是用来分离UI样式代码,改善视图代码重用率,增加所见即所得,降低视图测试繁复度视图系列化工具, 其中Xib视图View为主, StoryBoard 控制器Controller...这样有利于视图样式和视图代码分离,有利于视图代码重用性和兼容性提高。 对于逻辑复杂VC,应添加Object对象,并绑定相应类来分离逻辑代码。...一个占位容器视图指向控制器Embed Segue 按住Control键连线到想要包含控制器,占位视图实例==控制器view(控制器根视图) 选择Embed连线方式后,控制器 尺寸变化成跟占位视图一样尺寸...同理,优惠专区可以再添加一个Container View,指向第二个控制器。...实际上约束布局是一个很强大功能,可以解决绝大多数(98%)布局适配问题,98%这个数并不是随便给出,很多人觉得达不到这个比例是因为对约束理解较少,还是按照以前autolayoutMask方式使用约束

    2.1K20

    WWV 2018年十大必看视频

    用户自己短语可以调用应用程序功能来获取信息或调用操作 - 通常只需添加几行代码即可。 平台国家联盟所涵盖新项目远远超出在本文中提出范围。...条件一致性扩展或增加了可符合它协议和类型可组合性。 Swift还支持面向对象编程。...他潜入渲染循环,因为它处理在屏幕上获取视图各个部分。首先是updateConstraints确定是否需要和设置约束更新。其次,视图布局和设置。最后,如果需要,显示将绘制视图并刷新。...重要是避免浪费工作,这可能会减慢或破坏性能。通常,在清除现有约束然后添加自己约束之后,您将在代码中设置约束。这种重复运动可以产生“约束流失”,并且发动机必须重复计算和交付。...使用并不总是出现元素一个技巧是将其设置为隐藏而不是添加或删除它。考虑始终存在约束,并分别对来来去去约束进行分组。将它们放在一个约束数组中,并创建一个没有约束数组。然后你只是处理一系列约束

    2.8K20

    5 分钟,带你快速撸一个 iOS App

    ,点击左下角 + 号,添加一个开发者账号 ?...然后,使用 Xcode 创建一个项目 这里模版选择 iOS App,输入项目名称,编程语言选择「 Swift 」,点击下一步完成项目的创建 ?...PS:Swift 相比 OC,语法更加简洁明了 最后,为新创建项目指定 Sign 签名 这部分如果有疑惑,可以点击文末阅读原文去了解 3....实战 实战部分,我们一个简单登陆页面来进行讲解 3-1 安装依赖库 由于项目使用 Swift 开发,这里推荐使用 SPM( Swift Package Manager )来安装依赖 比如,网络请求库...3-2 页面布局 打开项目根目录下「 ContentView.swift 」文件,在 body 下编写具体视图 首先,使用 VStack 定义一个垂直布局盒子,并定义子控件水平居中展示 PS:SwiftUI

    89740

    WWDC 2018年十大视频评论

    用户自己短语可以调用应用程序功能来获取信息或调用操作 - 通常只需添加几行代码即可。 平台国家联盟所涵盖新项目远远超出在本文中提出范围。...条件一致性扩展或增加了可符合它协议和类型可组合性。 Swift还支持面向对象编程。...他潜入渲染循环,因为它处理在屏幕上获取视图各个部分。首先是updateConstraints确定是否需要和设置约束更新。其次,视图布局和设置。最后,如果需要,显示将绘制视图并刷新。...重要是避免浪费工作,这可能会减慢或破坏性能。通常,在清除现有约束然后添加自己约束之后,您将在代码中设置约束。这种重复运动可以产生“约束流失”,并且发动机必须重复计算和交付。...使用并不总是出现元素一个技巧是将其设置为隐藏而不是添加或删除它。考虑始终存在约束,并分别对来来去去约束进行分组。将它们放在一个约束数组中,并创建一个没有约束数组。然后你只是处理一系列约束

    3.3K20

    GeometryReader :好东西还是坏东西?

    欢迎访问 fatbobman.substack.com[3] 订阅 Fatbobman's Swift Weekly 中英文电子邮件版本。...对于为什么采用 Extension 方式,设计者可能考虑了以下两个因素: 通过 Binding 方式向上传递信息,并不是当前官方 SwiftUI API 主要设计方式。...这种非常规布局逻辑是推荐将其直接用作布局容器原因之一。 GeometryReader 不支持对齐指南调整,因此上面的描述使用了原点。...GeometryReader 将完全无视视图提出需求尺寸,在这一点上,它处理方式与 overlay 和 background 对待视图方式一致。...请阅读 用 SwiftUI 方式进行布局[9] 和 在 SwiftUI 中实现视图居中若干种方法[10] 两篇文章,了解面对同一个需求,SwiftUI 有多种布局手段。

    62870

    Swift:静态工厂方法

    尽管子类化是一项重要语言功能,即使在面向协议编程时代,也很容易将自定义设置与自定义行为混淆。我们并没有在上面的UILabel中真正添加任何新行为,我们只是在设置一个实例。...在这种情况下,“自动版式”声明性确实很方便——我们可以预先指定所有约束,而不必重写任何方法或响应任何调用。 就像用于视图一样,工厂方法为我们提供了非常干净调用方式。...特别是如果与"Swift:将视图控制器用作插件" 中便捷API稍加修改版本结合使用,我们现在可以在执行异步操作时轻松添加预先配置加载视图控制器: class ProductListViewController...handle(result) } } } 对添加便捷API唯一修改是使其返回添加视图控制器,从而可以在使用点语法同时获取对其引用。...如果您想了解有关此类对象以及通常使用工厂模式其他方式更多信息,请查看"Swift:使用工厂模式以避免共享状态","Swift:使用工厂进行依赖注入"和"Swift: 使用懒加载属性"。

    2.4K10

    SceneKit_中级08_阴影详解

    SceneKit_大神02_弹幕来袭 SceneKit_大神03_navigationbar上3D文字 先说几句,由于Swift 3.0 逐渐稳定,之后所有的教程都会使Swift 语言,如果学习请移步亲写学习教程...让学习成为一种习惯 学习目标 掌握SceneKit 框架中三种阴影创建方式 阴影 阴影类型 :静态,动态,投射 静态 这个方式很简单,就是给物体节点增加一个节点,节点设置一个图片作为它阴影...添加库SceneKit 让学习成为一种习惯 第三步 创建游戏视图 let scnView = SCNView(frame: self.view.bounds) scnView.backgroundColor...因为灯光最远注意默认值为100 ,由于我们将灯指点放在1000 灯光照射不到那个距离,所以我们需要调节灯光照射最远距离 问题2:为什么要给灯光添加一个支点,添加可以吗?...添加支点,是可以,但是你要给灯光添加约束,让其对着模型,然后,你让这个灯光移动,这个时候,你会发现灯光节点一动不动,这里为什么不动,猜测是,行为和约束都要计算位置和角度,然而两者冲突了,优先使用约束

    75910

    制作一个类似苹果VFL(Visual Format Language)格式化语言来描述类似UIStackView那种布局思路,并解析生成页面

    于是想出两个视图概念。...一个是AssembleView组合视图,专门用于对其PartView视图进行排列,比如说是水平排列还是垂直排列,PartView是按照居中对齐还是居左等对齐方式,各个PartView之间间隔是多少。...:Starming站长,color:E3DEE0,font:13)] [(text:喜欢画画编程和写小说,color:E3DEE0,font:13)] }...padding:默认各个PartView间距。 PartView属性 如果希望通过属性生成视图,可以通过在[后直接填入带入对象对应key,然后再在()里设置属性。...ignoreAlignment:设置忽略约束方向,在父AssembleView不需要由PartView决定大小情况下,可以通过打断某个方向约束来实现拆开排列效果。

    94820

    Flutter 视图布局-前言

    当然也有一些侠客认为,不再以 xml 方式实现结构布局且代码逻辑来驱动和构建布局方式对于一些审美感不高的人是一种乐于接受方式。 所谓江湖纷杂,流派众多,也是各花入各眼。...01 - 视图布局方式 简单说一下对 Flutter 视图布局看法,在前篇中有提到 Flutter 是使用了 Dart 语言进行编写,所以弱化了视图编辑部分,视图渲染、结构、布局都通过代码逻辑来生成...在一定程度上在视图结构和逻辑关联性是强了,但在直观布局结构方面却弱了,所以就导致在代码中会发现嵌套层次很多很深,同事也会对开发者能力有了一些要求,当然如果有面向对象编程经验的话,那么就上手来说问题并不大...视图布局》系列文章中将 widget 下第一级 widget 称之为 “元素” 以便让少侠们理解。...Center 将其元素居中显示在自身内部 Widget。 Align 一个 Widget,它可以将其元素对齐,并可以根据元素大小自动调整大小。

    2.3K110

    iOS界面布局核心以及TangramKit介绍

    作为一个编程为职业的人来说如果不留下什么可以值得为大家所知东西的话,那将是一种职业上遗憾。...刚才我们说过如何排列容器视图视图是要根据具体应用场景而定, 比如有可能是所有视图从上往下按照添加顺序依次排列,或者视图按照某种约束依赖关系来进行布局排列,或者视图需要多行多列排列等等。...相对布局TGRelativeLayout: 相对布局里面的视图添加顺序无关,而是按照视图之间设定尺寸约束依赖和位置约束依赖进行布局排列。...根据排列方向和限制规则,流式布局分为垂直数量约束布局、垂直内容约束布局、水平数量约束布局、水平内容约束布局四种布局。流式布局实现了HTML/CSS3flex-box子集功能。...这两个属性equal方法中才有意义,他表示视图和数组里面其他所有视图位置在相对布局中整体水平居中或者垂直居中

    2.2K30
    领券