当前位置: 首页 > 知识库问答 >
问题:

Swift:如何调整UIView的大小并保持内容居中?

华良平
2023-03-14

我的ViewController(“mainView”)中有一个UIView(“myUIView”),其中有一个UILabel(“myUILabel”),垂直居中,带有自动布局约束。我正在设置此UIView的动画以更改其高度。

最初,我认为自动布局可以跟踪动画/更改,并保持UILabel居中,但UILabel的行为就像它被约束到UIView的顶部一样。

UILabel不在动画代码本身中。参考代码:

UIView.animateWithDuration(currentAnimationTime, delay: 0.0, options: .CurveEaseOut, animations: { 
self.myUIView.frame = CGRectMake(0, self.mainView.frame.height * 0.2, self.mainView.frame.width, self.mainView.frame.height * 0.6 )
}, completion: nil)

如何增加UIView的高度并保持垂直输入UILabel?我是否需要添加一些直接影响UILabel本身的内容,或者我的调整大小(CGRectMake)是否完全错误?

共有1个答案

史绍晖
2023-03-14

我很幸运地在动画中的动画视图上调用了layoutIfNeed

最好为视图的高度约束创建一个出口,然后设置该约束的常数,而不是构造CGRect。更改动画外部的常数,如此答案中所示。

 类似资料:
  • 我有一个BoxLayout面板,从上到下有一些组件,我希望它在内容窗格中居中(垂直和水平),这样当我最大化窗口时,这个内部面板仍然保持在中心。 我已经用BoxLayout和/或GridBagLayout实现了这一点,但由于我正在用Swing进行试验,我想知道是否可以通过使用FlowLayout或BorderLayout作为内容窗格的布局管理器来实现这一点。我找不到办法...当我最大化框架时,内面板

  • 问题内容: 我正在使用 Swift 和Parse.com开发适用于iOS的应用程序 我试图让用户从图像选择器中选择一张图片,然后将所选图像的大小调整为200x200像素,然后再上传到我的后端。 Parse.com有一个用于Instagram复制应用程序的教程,名为“ AnyPic”,其中提供了用于调整图像大小的代码,但这是在Objective- C中。 如何在Swift中为所选图片创建200x20

  • 问题内容: 我正在开发类似iGoogle的应用程序。使用iframe显示其他应用程序(在其他域上)的内容。 如何调整iframe的大小以适合iframe内容的高度? 我试图破译Google使用的javascript,但它被混淆了,到目前为止,在网络上搜索毫无结果。 更新: 请注意,内容是从其他域加载的,因此适用同源策略。 问题答案: 我们遇到了这类问题,但与您的情况略有不同我们向其他域上的网站提供

  • 问题内容: 在以Swift编写的iOS应用程序中使用自动布局时,如何根据内容调整textField的大小? 加载视图时以及用户键入时,文本字段将根据需要调整大小以适合其内容。 理想情况下,文本字段将在某个点(例如6行)处停止调整大小,并变为可滚动。 问题答案: 您必须使用而不是。 然后,您可以使用该方法。 但是首先,您必须知道一条线的高度。您可以使用以下方法获取该信息: 之后,只需在方法内部调用方

  • 问题内容: 我想始终在水平和垂直方向上将div居中。 我可以减小/增加窗口的宽度,并且div会始终保持在窗口的中心,从而做出响应 这是我目前拥有的。但是我也想使div垂直居中,因此,如果我减小/增加窗口的高度,div会通过停留在窗口中间来做出响应。 关于该示例,我想使黑盒在窗口调整大小上保持垂直居中,就像它始终保持在水平居中位置一样。 问题答案: 您可以使用 CSS表 执行此操作: JsFiddl

  • 我想设置Scrollpane H和V值,但内部内容调整大小后。 一些背景-我得到了以下结构: 我附上了<代码>。setOnScroll(…) 到目前为止,一切都很好,当内容大小发生变化时,滚动条会更新,所有内容都会按预期进行调整,但我想保持或更确切地说,将滚动条位置设置为一些值,以保持缩放到上一个中点(类似于photoshop中的缩放)。在本例中,我在回调中添加了这一行来测试它: 函数本身可以工作