草庐IT

AutoLayout

全部标签

ios - 自动布局中的相对中心

我正在使用自动布局来定位我的View。在我的例子中,它是顶部的UILabel和它下面的UIStackView。UIStackView是为.fill配置的,它的所有arrangedSubviews都有一个正确的heightConstraint。我想要做的是添加约束,以便UIStackView在myLabel.bottomAnchor和mySuperview.bottomAnchor之间的空间中垂直居中。到目前为止我尝试的是:为UIStackView添加顶部和底部约束:_stackView.topAnchor.constraint(greaterThanOrEqualTo:_myLabel

swift - 使用自动布局绘制 CAShapeLayer

我正在尝试使用CAShapeLayer绘制圆形按钮并为其设置动画,但只是绘图让我很头疼-我似乎无法弄清楚如何将数据传递到我的类中。这是我的设置:-一个UIView类型的类,它将绘制CAShapeLayer-View在我的ViewController中呈现并使用自动布局约束构建我曾尝试使用layoutIfNeeded但似乎传递数据为时已晚,无法绘制View。我也试过在vieWillLayoutSubviews()中重绘View,但没有。下面的示例代码。我究竟做错了什么?我是否过早/过晚传递数据?我绘制bezierPath是否为时已晚?我非常感谢指针。也许还有第二个后续问题:是否有更简单的

ios - 如何更改以编程方式为 UIButton 添加的约束

我在代码中为UIButton添加了约束:topBtn.translatesAutoresizingMaskIntoConstraints=falseNSLayoutConstraint.activate([topBtn.topAnchor.constraint(equalTo:self.view.topAnchor,constant:50)])稍后,如果我单击某个按钮,我希望删除此约束并将其更改为NSLayoutConstraint.activate([topBtn.topAnchor.constraint(equalTo:self.view2.topAnchor,constant:5

swift - 居中 ImageView 垂直偏移

我想将ImageView水平居中,然后垂直居中。但是,在垂直居中时,我需要ImageView稍微偏离中心,有利于View的上半部分。我的设计师给了我214点的顶部间距,这在iPhone6、7、8上完美运行。但是在iPad上它不能正确缩放。在iPhone4S的另一端,ImageView偏向View的下半部分。iPhone8(下图是为iPhone8设置的界面生成器截图。)iPad(下图是为iPadPro9.7设置的界面生成器截图。)iPhone4S(下图是为iPhone4S设置的界面生成器截图。)我怎样才能让它适应所有屏幕尺寸? 最佳答案

ios - 当方向为横向时, View 被剪切

在XCode8中开发应用程序时,它曾经在纵向和横向模式下都运行良好。没有任何特别的改变。现在开始在Xcode9中开发,Portrait工作正常,但应用程序中的任何View,如果切换到Landscape,它会表现得很奇怪。就像在图像中一样,View被切断我在Storyboard中使用自动布局...发生这种情况是因为新的safearea功能吗?编辑:为签名View添加的View层次结构 最佳答案 这可能是由于某些图层效果无意中应用于UIViewControllerWrapperView。请检查您的UIViewControllerWrap

ios - 自动布局 - 如何添加 subview 以匹配 UIView 的大小?

我遇到了一个与自动布局有关的问题。我有一个设置了约束的UIView,因此它对于每个尺寸类别都处于相同的位置。我试图让我的视频完全适合此UIViewvideoViewBox。我只在iPhone6上使用它,但如果我切换到iPhone4S/5,视频将不再对齐。这是代码:varmoviePlayer:MPMoviePlayerController!@IBOutletvarvideoViewBox:UIView!overridefuncviewDidLoad(){super.viewDidLoad()letpath=NSBundle.mainBundle().pathForResource("t

ios - "This application is modifying the autolayout engine"错误(Swift iOS)

我一直在想办法解决“此应用程序正在从后台线程修改自动布局引擎”错误。非常感谢任何帮助。我尝试了thissimilarquestion中概述的方法使用dispatch_async(dispatch_get_main_qeueu())但它不能解决问题。我使用不当吗?通过调试,我发现至少部分问题是调用Firebase重置用户密码。当我省略该代码时,没有错误。相关代码和完整错误信息如下://MARK:-ForgotPasswordButtonTapped@IBActionfuncforgotPasswordButtonTapped(sender:AnyObject){letuserEntere

ios - 自动布局 UITextField 以适应 UINavigationBar

我一直在尝试调整UITextField的大小以适应和拉伸(stretch)整个UINavigationBar,但没有成功。我知道这是世界上最简单的问题,但我却浑然不觉。 最佳答案 这不是世界上最简单的问题。事实上,它相当棘手。你不能使用约束来做到这一点。UINavigationBar负责布置其subview。Xcode知道这一点,所以它不允许您在文本字段上设置约束。导航栏通过发送sizeThatFits:询问您的文本字段需要多大,并提供最大允许大小,因此一种方法是创建UITextField返回最大值。这有效:@implementat

swift - Swift中,如何使用Layout Anchor设置多个子view的宽度相同(无常量)?

例如,我有一个包含3个subview的父View。我正在以编程方式使用LayoutAnchor并尝试实现以下布局|--subview1--|--subview2--|--subview3--|三个subview中的每一个都具有相等的宽度。换句话说,subView1.width=subView2.width=subView3.widthsubView1.width+subView2.width+subView3.width=parentView.width我知道我可以使用乘数来设置subview1和subview2的宽度:subView1.widthAnchor.constraintEq

ios - 如何在 swift 3 中以编程方式使所有 ios 设备的按钮居中对齐?

我正在创建一个应用程序,我在其中以编程方式创建了一个按钮,但是我遇到了一个问题,即当在其他设备(例如iphone8、7等)中查看时,该按钮无法完美地显示在中心...它显示在iphoneX上完美显示。如何在所有设备上完美显示我的按钮?这是我的代码:letbutton=RideRequestButton()letdropoffLocation=CLLocation(latitude:37.6213129,longitude:-122.3789554)letbuilder=RideParametersBuilder()builder.dropoffLocation=dropoffLocati