- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 Snapkit 来简化我的自动布局代码,但是似乎经常弹出一个场景,我想知道是否有一种方法可以减少代码。
假设我需要将 UIView
的边缘固定到它的 super View 边距,我们可能会这样做:
subView.snp.makeConstraints { make in
make.top.equalTo(parentView.snp.topMargin)
make.bottom.equalTo(parentView.snp.bottomMargin)
make.left.equalTo(parentView.snp.leftMargin)
make.right.equalTo(parentView.snp.rightMargin)
}
这基本上会导致 subview 填充父 View ,除了由父 View 布局边距定义的少量填充。我确信这种变化很常见。
对于这个库来说,这似乎过于冗长。它有一些非常好的辅助方法,比如这些
make.edges.equalToSuperview()
make.top.left.right.equalToSuperview()
然而,我在他们的文档中没有找到的是如何执行上述两个与页边距相关的辅助方法。
我正在寻找的(如果存在的话)类似于:
make.edges.equalToSuperview().withMargins()
make.top.left.right.equalToSuperview().withMargins()
make.top.left.right.equalTo(someview).withMargins()
那么,除了非常冗长的方法之外,还有其他方法可以做到这一点吗?我是否遗漏了文档中的某些内容,或者这可以通过扩展添加?
最佳答案
你试过这样的事情吗?
subView.snp.makeConstraints { make in
make.edges.equalTo(view.snp.margins)
}
评论后编辑:
当你只想将某些边限制到父 View 边距时,你可以这样做。
subView.snp.makeConstraints { make in
make.top.leading.equalTo(view).inset(view.layoutMargins)
}
或
subView.snp.makeConstraints { make in
make.top.leading.equalTo(view.layoutMarginsGuide)
或
subView.snp.makeConstraints { make in
make.top.leading.equalTo(view.safeAreaLayoutGuide)
关于swift - Snapkit:将倍数限制为边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46119256/
我已经尝试了各种安装“Snapkit”的方法,但到目前为止我运气不佳。 我正在使用以下内容:- Xcode 8.3.3 到目前为止,我已经尝试按照所有在线文档来解决问题,但它仍然无法正常工作。包括以下
我有几个标签 应该有以下要求 最小宽度为 38 像素 右对齐 高度为 22 像素 每侧额外填充 8 像素的宽度 到目前为止,我设法使 1、2 和 3 正常工作(如图所示),但我在第四个约束上遇到了麻烦
以下是我的 viewDidAppear() 方法,我试图用它为我的应用程序构建功能原型(prototype)。 GraphicsView 实例变量通过 Storyboard绑定(bind)到我编写的
我用一个场景制作了 Storyboard。在我的 UIViewController 中,我使用 SnapKit 定义了以下内容: @IBOutlet weak var emailTextField:
我正在使用 Snapkit 来简化我的自动布局代码,但是似乎经常弹出一个场景,我想知道是否有一种方法可以减少代码。 假设我需要将 UIView 的边缘固定到它的 super View 边距,我们可能会
我尝试了不同的教程来使用 Snapkit 制作灯光动画,但似乎没有任何帮助。我什至尝试过 Spring 框架,但效果不佳。这是我的代码。 private func setupMatchView() {
我正在尝试在 SnapKit 中创建此布局的约束,但我很难设置最大大小 (lessThanOrEqual)。 let maxWidthContainer: CGFloat = 435 let maxH
我构建了一个应用程序,它不使用任何界面生成器,而是使用 Snapkit 创建自动布局约束。纵向时一切看起来都很好,但是一些屏幕需要一些特定于横向的限制。 我在这里和谷歌上搜索了关于执行此操作的快速介绍
只是尝试使用 SnapKit 自动布局添加 UILabel。我使用的代码如下: override func viewDidLoad() { super.viewDidLoad() se
我根据iPhone X版本编辑了我的应用程序。其他 iPhone 型号由于屏幕尺寸的原因此图像已损坏。如何根据 iPhone 版本编辑我定义的值?例如,我分享一个示例代码: registerlabel
我正在尝试为我的应用程序制作 Logo (UILabel) 从中间到顶部的动画。我尝试的是更新约束,但它似乎不起作用。问题是动画,即 Logo ,从原点 (0,0) 而不是 View 的中间到顶部。必
我想要的是这样的: 这是我的代码: let label1 = UILabel() let label2 = UILabel() label1.textColor = .whit
现在如果我想在左边和右边设置相等的边距,它需要两行: label.snp.makeConstraints { make in make.left.equalTo(Constants.margi
我目前正在将 SnapKit 与 Swift 结合使用,使用演练来制作测验应用程序。我目前正在制定一些约束,并想将一些新约束附加到我的约束数组中 我收到错误消息“元组类型 '()' 的值没有成员 an
当我尝试在创建约束后立即更新 snapkit 约束时,我得到一个Updated constraint could not find existing matching constraint to up
我是SnapKit的初学者,我想用SnapKit实现一个UITableViewController,每一行有两个UILabel,一个是Title,另一个是Value。我的问题是 UITableView
我正在尝试使用 SnapKit 实现 2 个 View 的动画。 这是我的动画 View : class MatchAnimation: UIView { let viewBackground
我有一个 TableViewCell 和两个按钮来切换不同的约束。 我想更新它的高度约束和单元格高度。 喜欢下面的图1 当我点击 buttonB 时, View 会像 pic2 然后我点击button
func setupPosition() { box.snp.makeConstraints{(make)->Void in make.edges.equalTo(vi
我有一个标签,无论使用什么设备,我都希望它在屏幕上具有相同的相对位置。例如。标签的位置距 View 上边距 10%,距 View 左边距 30%。 常量将始终进行定位,例如距离 View 边距 150
我是一名优秀的程序员,十分优秀!