Snapkit 布局问题 - UITextView 超越 UIView

Posted

技术标签:

【中文标题】Snapkit 布局问题 - UITextView 超越 UIView【英文标题】:Snapkit Layout issue - UITextView going beyond UIView 【发布时间】:2018-01-28 07:46:44 【问题描述】:

使用 snapkit,我得到了下面的图像。 文本视图越过弹出视图,“列表名称”弹出标题超出文本视图 10px 以上。如何解决?

代码

private func makePopUpTitle() 
        popUpTitle.text = "List Name"
        popUpView.addSubview(popUpTitle)

        popUpTitle.snp.makeConstraints  (make) -> Void in
            make.centerX.equalTo(popUpView)
            make.top.equalTo(popUpView).offset(20)
        

    

private func makeListNameTextView() 
        self.automaticallyAdjustsScrollViewInsets = false
        popUpView.addSubview(nameTextView)

        nameTextView.snp.makeConstraints  (make) -> Void in
            make.left.equalTo(popUpView).offset(20)
            make.right.greaterThanOrEqualTo(popUpView).offset(20)
            make.top.equalTo(popUpTitle.snp.bottom).offset(10)
            make.width.lessThanOrEqualTo(popUpView.snp.width)
            make.height.equalTo(35)
            make.centerY.equalTo(popUpView)
        
    

【问题讨论】:

您的右约束与 make.right.greaterThanOrEqualTo(popUpView).offset(20) 等冲突。删除您的右约束或添加一个恒定的右约束,以防左约束将解决问题。 你可以试试make.right.greaterThanOrEqualTo(popUpView).offset(-20) @coreDeviios 谢谢你的工作! 【参考方案1】:

就像cmets说的:

make.right.greaterThanOrEqualTo(popUpView).offset(-20)

【讨论】:

被否决的答案不应该只是一行代码。添加评论为什么这是答案:)

以上是关于Snapkit 布局问题 - UITextView 超越 UIView的主要内容,如果未能解决你的问题,请参考以下文章

SnapKit 的自动布局未按预期响应

自动布局 [Snapkit] 更改旋转约束

带有自动布局(snapkit)的圆形视图?

与在 Interface Builder 中使用自动布局相比,SnapKit 有啥优势?

SnapKit 自动布局损坏:“无法同时满足约束”

Swift 自动布局框架-SnapKit