约束、布局、flex布局、flex布局
masonry、yogakit、snapkit
allanGold
这个作者很懒,什么都没留下…
展开
-
【约束】大于等于、小于等于这种类型的约束怎么用
这里先记录一种场景,后续再补充其他场景。场景描述:xib中,父视图是一个UIScrollView。这里要实现的需求是:小屏幕手机上,UIScrollView可以滑动,这样可以让所有内容都能被看到,大屏幕手机上理论上能够展示全。处理方案:设UIScrollView 最靠近bottom的那个子view为viewA,第一步:给viewA设置的约束力必须包括height >= 某个固定值,bottom 约束等于UIScrollView的bottom这里有一点需要注意,为了让he原创 2022-05-18 12:03:13 · 628 阅读 · 0 评论 -
【约束优先级问题二】动态高度cell
效果图:注意:estimatedRowHeightrowheight = UITableViewAutomaticDimension#pragma mark - lazy-(UITableView *)tableView{ if(!_tableView){ _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size...原创 2022-01-29 17:57:03 · 1789 阅读 · 0 评论 -
【约束优先级问题一】AutoLayout中的Content Hugging Priority和 Content Compression Resistance Priority
这两个优先级属于AutoLayout的一些高级的用法。主要看一下AutoLayout中的Content Hugging Priority以及Content Compression Resistance Priority这两个优先级。下方我们先来简单的看一下这两个优先级的涵义:Content Hugging Priority:直译成中文就是“内容拥抱优先级”,从字面意思上来看就是两个视图,谁的“内容拥抱优先级”高,谁就优先环绕其内容。稍后我们会根据一些示例进行介绍。Content Com原创 2022-01-29 17:05:59 · 581 阅读 · 0 评论 -
Masonry 设置完约束之后 如何以动画的方式完成约束的设置(二)
使用Masonry的时候动画怎么实现呢?于是经过练习和查找相关方法,终于找到了正确的做法,希望能够对有需要的人提供一些帮助。正文简单来说Masonry的动画使用方式是和正常的动画的使用方式是一样的,通过UIView animateWithDuration:<#(NSTimeInterval)#> animations:<#^(void)animations#>的方法...转载 2019-03-18 19:52:52 · 855 阅读 · 0 评论 -
当一个子视图的某一个约束是相对父视图,然后更新成相对兄弟视图,发生冲突UIViewAlertForUnsatisfiableConstraints
参考链接:https://www.jianshu.com/p/611fee0c2a60修复方案:先设置的置为低优先级代码为:make.right.offset(0).priorityLow();更新设置的不添加priorityLow()这个低优先级设置...转载 2019-03-20 16:58:49 · 243 阅读 · 0 评论 -
抽象基类 参照
模仿masonry中的MASConstraint类转载 2018-11-30 15:57:32 · 151 阅读 · 0 评论 -
Masonry 部分源码分析
寻找最近的公共父视图- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view { MAS_VIEW *closestCommonSuperview = nil; MAS_VIEW *secondViewSuperview = view;// 先是用view和self及self的父视图们挨个的比较,然后是用v...转载 2018-11-26 10:57:52 · 188 阅读 · 0 评论 -
Masonry 设置完约束之后 如何以动画的方式完成约束的设置(一)
第一步:用Masonry设置指定view的 约束第二步:- (void)doConstraintAnimation { [self setNeedsUpdateConstraints]; [self updateConstraintsIfNeeded]; [UIView animateWithDuration:.3 animations:^{ [...原创 2018-11-19 16:21:56 · 653 阅读 · 0 评论 -
使用masonry添加约束 获取frame的一个方法
- (void)layoutSubviews { [super layoutSubviews]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ ZKLogDebug(@"222...转载 2018-06-21 11:01:40 · 1346 阅读 · 0 评论 -
使用 UIViewAlertForUnsatisfiableConstraints 捕捉autolayout 约束冲突
https://blog.csdn.net/njafei/article/details/50728320转载 2018-05-22 17:48:09 · 754 阅读 · 0 评论 -
Masonry 宏定义的尴尬(Masonry和UIView+position等分类冲突的问题)
Masonry在 iOS 开发界的名气相信不用多做介绍了, 大部分开发者在使用Masonry的过程中都会导入2个全局的宏来提高开发效率.#define MAS_SHORTHAND#define MAS_SHORTHAND_GLOBALS这2个宏有什么作用呢?#define MAS_SHORTHAND可以让你在调用约束方法和设置约束参数时省掉mas_前缀.[aView mas_makeCons...转载 2018-02-27 14:15:35 · 1429 阅读 · 0 评论 -
关于masonry 使用中多次改变一个控件的约束
这个是更新约束这个是重置约束原创 2016-03-16 14:41:52 · 1342 阅读 · 0 评论