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

对UIView使用SnapKit make约束,但不显示任何内容

SnapKit是一个用于iOS开发的自动布局库,它可以帮助开发者使用代码来创建和管理视图之间的约束关系。使用SnapKit的make约束方法可以方便地设置视图的约束。

对于使用SnapKit make约束但不显示任何内容的情况,可能有以下几种原因和解决方法:

  1. 视图的尺寸为零:如果使用了make约束但没有设置视图的尺寸,那么视图将无法显示。可以通过设置视图的宽度和高度约束来解决这个问题,例如:
代码语言:swift
复制
view.snp.makeConstraints { make in
    make.width.equalTo(100)
    make.height.equalTo(100)
}
  1. 视图的背景色为透明:如果视图的背景色为透明,那么即使设置了约束,也无法看到视图的内容。可以通过设置视图的背景色为其他颜色来解决这个问题,例如:
代码语言:swift
复制
view.backgroundColor = UIColor.red
  1. 视图被其他视图遮挡:如果视图被其他视图遮挡,那么即使设置了约束,也无法看到视图的内容。可以通过调整视图的层级关系或者调整其他视图的约束来解决这个问题。

总结起来,对UIView使用SnapKit make约束但不显示任何内容可能是由于视图的尺寸为零、背景色为透明或者被其他视图遮挡等原因导致的。需要根据具体情况进行调试和解决。

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

相关·内容

iOS-屏幕适配实现(SnapKit

SnapKit简介 SnapKit是一个优秀的第三方自适应布局库,它可以让iOS、OS X应用更简单地实现自动布局(Auto Layout) 下载链接 SnapKit SnapKit配置 使用pods方式引入类库...,pod 'SnapKit' 引入头文件 import SnapKit SnapKit使用 示例: testView.snp.makeConstraints { (make) in make.left.equalToSuperview....offset(50)的两级组合,显示找到父view的左边位置,再向右(X轴)移动50点 给控件添加、更新约束、引用约束、停用、启用 添加新的约束 testView.snp.makeConstraints...= nil override func viewDidLoad() { super.viewDidLoad() let testView = UIView()...(200) make.height.equalTo(50).priority(800) } ---- SnapKit注意 使用SnapKit添加约束之前,需要在addSubview之后才能使用

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

    使用DEMO 视图居中显示,子视图含边距,视图等距离摆放,计算ScrollView的内容。 Classy - Classy是一个能与UIKit无缝结合stylesheet(样式)系统。...ClassyLiveLayout - ClassyLiveLayout通过结合Classy stylesheets与Masonry一起使用,能够在运行的模拟器中微调自动布局约束实时显示效果的工具,砌体...在代码中纯手工创建约束灰常痛苦,但幸运的是我们有了SnapKit,在板中用上它,你可以简单直观地编写约束了。...Cartography - Cartography是用来声明Swift中的Auto Layout,无需输入任何字符串就职设置自己Auto Layout的约束声明。...UIView-FDCollapsibleConstraints - 一个AutoLayout辅助工具,最优雅的方式解决自动布局中子查看的动态显示和隐藏的问题。

    1.6K30

    Autolayout

    (竖线“|” 表示superview的边缘) VFL的使用 使用VFL来创建约束数组 创建一个字典(内部包含VFL语句中用到的控件)的快捷宏定义 NSDictionaryOfVariableBindings...(NSDictionary *)metrics views:(NSDictionary *)views; 有了Autolayout的UILabel 在没有Autolayout之前,UILabel的文字内容总是居中显示...UILabel实现包裹内容 设置宽度约束为 <= 固定值 设置位置约束 不用去设置高度约束 基于Autolayout的动画 在修改了约束之后,只要执行下面代码,就能做动画效果 [UIView animateWithDuration...:1.0 animations:   ^{     [添加了约束的view layoutIfNeeded]; }]; Masonry框架的使用示例 下载地址: https://github.com/SnapKit...,添加新的约束 - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block; 以下为代码使用实现布局效果:

    92460

    Ios常用第三方框架(一)

    ClassyLiveLayout - ClassyLiveLayout通过结合Classy stylesheets与Masonry一起使用,能够在运行的模拟器中微调Auto Layout约束实时显示效果的工具...在代码中纯手工创建约束灰常痛苦,但幸运的是我们有了SnapKit,在board中用上它,你可以简单直观地编写约束了。...Cartography - Cartography 是用来声明 Swift 中的 Auto Layout,无需输入任何 stringly 就可设置自己 Auto Layout 的约束声明。...简单易用的属性文本控件(无需了解CoreText),支持富文本,图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示。...Marklight.swift - Markdown 语法高亮显示编辑库(Swift)。 高仿微信限定行数文字内容 - 采用Autolayout高仿微信纯文字限定行数。

    5.4K31

    iOS界面布局之四——使用第三方库Masonry进行autolayout布局

    二、使用Masonry         这里说的大部分内容均来自Masonry和官方gitHub,将其内容进行了翻译和解释,源地址如下:https://github.com/SnapKit/Masonry...2、3个方法让你玩转Masonry约束操作         Masonry在UIView的类别中,有3个全局的操作约束的方法,通过他们我们可以自由的进行autolayout的设置。...,在block中进行约束条件的设置,例如我们创建一个label,将其尺寸设置为50*50,放在屏幕中间,使用如下代码: 注意:在添加约束前,必须将视图添加到其父视图上。...更新约束: 当我们需要配合布局改变或者动画效果的时候,我们可能需要将已经添加的约束进行更新操作,使用如下的方法: [label mas_updateConstraints:^(MASConstraintMaker...,并不会移除掉原有的约束,如果我们需要添加新的约束,可以使用下面的重设约束的方法。

    1.8K20

    iOS学习——布局利器Masonry框架源码深度剖析

    如果你的项目是Swift语言的,那么就得使用SnapKit布局框架了,SnapKit其实就是Masonry的Swift版本,两者虽然实现语言不同,但是实现思路大体一致。...- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *))block 约束安装方法  的源代码如下,这部分的代码很简单,主要就是当前约束创建器中的约束进行更新...,和上一小节分析的内容差不多。...) 使用A和B生成MASCompositeConstraint对象C,将C的delegate设为makemake.constraints中替换成C,此时make.constraints = [C],...(superview) 会依次调用A,B,D,E的equalTo(superView) 在上面的过程中可以看到: make.constraints的添加和替换元素的操作 MASCompositeConstraint

    1.4K101

    android

    所以在纯代码情况下,视图设置的约束是否正确,要以运行之后显示的结果和打印的log为准。 Masonry中的坑 在使用Masonry进行约束时,有一些是需要注意的。...在使用Masonry添加约束之前,需要在addSubview之后才能使用,否则会导致崩溃。 在添加约束时初学者经常会出现一些错误,约束出现问题的原因一般就是两种:约束冲突和缺少约束。...之前使用Interface Builder添加约束,如果约束有错误直接就可以看出来,并且会以红色或者黄色警告体现出来。...,在显示两秒后更新约束。...// 这个代理方法会将当前所有Cell的高度都预估出来,而不是只计算显示的Cell,所以这种方式性能消耗还是很大的。

    72620

    初窥Masonry

    居中显示一个View UIView *view = [[UIView alloc] init]; view.backgroundColor = [UIColor grayColor];...*make))block; /* mas_makeConstraints 只负责新增约束 Autolayout不能同时存在两条针对于同一象的约束 否则会报错 mas_updateConstraints...针对上面的情况 会更新在block中出现的约束 不会导致出现两个相同约束的情况 mas_remakeConstraints 则会清除之前的所有约束 仅保留最新的约束 三种函数善加利用 就可以应对各种情况了...(@150); make.width.equalTo(view1); }]; 这里我们在两个子View之间相互约束,可以看到他们的宽度在约束下被计算出来。...view起到了一个中间层的作用 能够自动的计算UIScrollView的contentSize 横向或者纵向排列等间隙的一组view Masonry并没有向我们提供这样的方法,所以为了等间隙的排列,我们首先UIView

    61440

    IOS开发系列——Masonry手写Autolayout专题【整理,部分原创】

    Masonry手写Autolayout专题 Masonry常规开发指导整理自此篇文档(可别说我转载不注明出处哦,^_^),后面加入了笔者在实际开发使用过程中遇到过的一些问题,希望你有所帮助。...简单使用技巧 1.1.1 [基础] 居中显示一个view - (void)viewDidLoad { [super viewDidLoad]; // Do any additional...只负责新增约束 Autolayout不能同时存在两条针对于同一象的约束 否则会报错 mas_updateConstraints 针对上面的情况 会更新在block中出现的约束 不会导致出现两个相同约束的情况...mas_remakeConstraints 则会清除之前的所有约束 仅保留最新的约束 三种函数善加利用 就可以应对各种情况了 */ 其次 equalTo和 mas_equalTo的区别在哪里呢?...bgImageView.image =nil; _bgImageView.image =tempImage; }); }); }); } 2 参考链接 实时显示

    75710

    深入剖析Auto Layout,分析iOS各版本新增特性

    先前写到的一篇Masonry心得文章里已经提到了很多AutoLayout相关的知识,这篇我会更加详细的其知识要点进行分析和整理。...+ 10.0 //红色按钮的左侧距离黄色label有10个point 使用API添加约束 使用NSLayoutConstraint类(最低支持iOS6)添加约束。...*view1 = [[UIView alloc] init]; UIView *view2 = [[UIView alloc] init]; viewsDictionary = NSDictionaryOfVariableBindings...页面第一次显示是会自动标记上需要刷新这个标记的,所以第一次看显示都是看不出问题的,但页面再次调用layoutIfNeeded时是不会立刻执行layoutSubview的(但之前加上setNeedsLayout...在内存吃紧机器上,当应用占内存较多系统会抓住任何可以释放heap区内存的机会视图被移除后会立刻被清空,这时约束如果还没有被释就满足不含视图项的约束会崩的情况了。

    1.2K10

    如何把设计图自动转换为iOS代码? 在线等,挺急的!

    尽管作为一名iOS开发人员,我依然苹果公司提供的开发技术及其发展方向持谨慎和保守态度.前一段时间,尝试使用 Xib来布局视图,遇到一些坑,但是熟悉之后,也确实比原来单纯基于绝对位置的纯代码布局更灵活些...* 使用方法: 在xib或storyboard中,将某一用于占位的view的 custom class 设为一个的 component, 则初始化时,会自动使用此component对应的xib文件中的内容去替换对应位置...在不考虑多屏幕兼容的情况下, AutoLayout,可以直接使用固定的约束常量值来确定,但是 马上iPhone 7 都要出来了,指不定什么尺寸呢? 一个机型,一个UI代码?是不是想想都让人头大!...UIView * superView = subView.superview; make.width.equalTo(superView).multipliedBy(subWidth.../ superHeight); }]; 以上代码,是整个代码的核心,其巧妙之处在于:不使用constant,而是使用比例来指定约束.选取的是 width,height,right,bottom,而不是其他属性

    1.4K60

    Cell 动态行高文字显示不全问题探索

    问题概述 使用的是”预估行高+自动布局“的方法实现动态行高(适用于 iOS7.0 以后系统)。...,需要保证如下设置: 设置 label 的 numberoflines 为 0 label 进行上左下右的完整约束 在项目实现过程中,遇到了文本内容被截断最后一行一小部分,无法完全显示的问题。...通过 log 可知,内容 label 的高度约束被舍弃了,因此会出现内容显示不全的问题。模拟器运行效果: ? 尝试解决 修改contentLblBtmCon优先级为High(750) ?...猜测:这个底部约束因为优先级是Low,所以被系统舍弃,使得内容可以显示完整,同时导致内容距离 cell 底部的距离太小。...在 cell 显示之前,setFrame 生效,此时,cell 在之前预估行高的基础上,根据约束重新布局,舍弃了内容 label 的高度约束,导致内容显示不全。

    1.9K20
    领券