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

MyLayout&TangramKit 的重大升级!

AutoLayout的尺寸自适应 AutoLayout中有两种类型的尺寸自适应:一类是以UILabel和UITextView为代表视图的尺寸自适应,这类视图中的宽度和高度有时候需要根据自身内容来确定自己的宽度和高度...当一个视图有自己的固有内容尺寸时,就不需要再为视图设置宽度或者高度约束。这也就是为什么一般情况下不对UILabel视图设置宽度和高度约束时系统也能正常完成布局。...比如一些界面中有父视图的尺寸由子视图的尺寸来确定的;还比如UIScrollView中为了能实现滚动需要根据添加到里面的子视图来调整contentSize的尺寸;又比如某些UITableViewCell中的高度是动态的...那就是当添加或者删除子视图时以及调整了某个子视图的位置和尺寸时就需要重新调整父视图的自适应约束设置。...因为MyLayout&TangramKit中的尺寸自适应约束不需要明确依赖某个子视图,因此当布局视图中的子视图有变化时系统会自动重新进行布局视图的尺寸计算,而当布局视图的尺寸变化时又会调整UIScrollView

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    IOS开发之新浪围脖

    在之前的博客中有一篇“IOS开发之自动布局显示网络请求内容” ,用的网络请求是模拟的微博请求,博文的内容也是模拟的,接下来要用到上一篇博文的知识:根据请求内容来动态的设置Cell的高度。...2.上面的cell是我们自定义的cell,需要关联两个UITableViewCell类,然后在Cell对象中进行控件的配置和赋值,其中的一个自定义Cell的关键代码如下,在TableView中我们只需要调用...dequeueReusableCellWithIdentifier:@"imageCell" forIndexPath:indexPath]; 14 } 15 16 return cell; 17 }   4.根据微博内容来动态的调整...cell的高度: //根据博文的内容调整cell的高度 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath...需求难点:       1.cell的高度根据本博文和转发博文的多少而改变,就是在cell中有两部分内容的高度是变化的,需要用代码来动态控制其高度。

    1.2K50

    在 SwiftUI 中用 Text 实现图文混排

    如果 Text 视图无法在给定的建议宽度内显示全部的内容,在建议高度允许的情况下( 没有限制高度或显示行数 ),Text 会对内容进行换行处理,通过多行显示的方式保证内容的完整性。...以标注尺寸为准 ),图片的尺寸并不会随字体尺寸大小的变化而变化。...动态类型( 自动缩放字体 )苹果一直很努力地改善其生态的用户体验,考虑到用户与显示器的距离、视力、运动与否,以及环境照明条件等因素,苹果为用户提供了动态类型功能来提高内容的可读性。...image-20220814173320321在 SwiftUI 中,除非进行了特别的设置,否则所有字体的尺寸都会跟随动态类型的变化而变化。...使用 .font(custom(_ name: String, size: CGFloat)) 设置的自定义尺寸的字体也会在动态类型变化时自动调整尺寸。

    4.5K30

    TableView优化之高度缓存

    很多情况下,我们的每一个cell都没有一个固定的高度,而是根据cell里面的内容自适应高度的。那么每次当我们cell将要出现在屏幕的时候,系统都会去计算cell的高度。...---- UITableViewCell的category 为什么先说这个类目呢,因为这个类目的内容最少,而且只用到了runtime的动态绑定,可以拿出来单独介绍一下runtime的相关知识。...老司机是这样考虑的,横屏和竖屏情况下同样内容的cell有可能是不同的,如果以同一个高度去取得话有可能出现高度不准确的问题。所以竖屏横屏分别一个字典。那这个current又是什么呢?...然后从字典中取出我们的cell,如果取出的cell为空,则从重用池中取出一个cell。并存入字典。 首先字典和cell的判空,都是针对第一次计算cell高度的时候来的。再次进入的时候都不会为空。...1.先拿到cell的宽度 2.根据辅助视图样式校正宽度 如果有自定义辅助视图,则按照自定义辅助视图的宽度去校正,如果没有按照系统辅助视图样式去校正宽度,然后根据宽度计算高度。

    2.4K30

    iOS开发中行高灵活可变的UITableView的性能优化

    ⑤当cell进行layoutSubViews方法进行布局时会再次拉取本行cell的高度数据。 ?...当执行TableView的reloadData方法进行界面刷新时,系统先会把所有行的行高数据拉取一遍,之后和UITableViewCell配置部分的场景一直,会拉取即将出现在屏幕上的cell的行高数据。...在开发中通常会遇到一些十分复杂的界面,而这些界面中cell的高度都是需要通过请求到的数据动态改变的,每个cell都要写复杂的尺寸计算代码十分令人心烦。...例如下图所示,左侧的图标进行了与父视图的左侧距离约束,标题Label进行了与父视图的上侧距离约束和右侧距离约束,内容Label进行了与标题Label的上侧约束和与父视图的下册约束,并且对宽度进行了约束。...此时,UITableViewCell的contentView四周都被子视图进行了约束,可以想象,内容Label的文本长度是不定的,当文本长度是的内容Label进行换行,内容Label的高度改变的时候,contentView

    2K20

    【IOS开发基础系列】Storyboard专题

    如果你需要的话也可以改变这些设置,但请明白,这些设置仅仅是帮助你设计你的屏幕,Simulated Metrics 并不会用于运行时,它们仅仅是帮助你进行可视化设计的。         ...不要奇怪,我们还没有提供数据源,因此表视图中不会显示任何行。 2.3.3 创建PlayersViewController         加一个新的 File 到项目中。...拖两个 Label 到Cell 中,将它们放置到大致等于原先所在的位置。随意修改它们的字体和颜色。将两个label的高亮色为白色。...这样当用户点击 cell 时看起来会好一些,因为此时cell的背景为蓝色。         拖一个 ImageView 到cell 右端,紧靠着右箭头。调整它宽度为81,高度无所谓。...3.1.3 在故事板中进行布局设计时,如果有导航栏、Tab栏,必须也要把高度预留出来 iPhone iPad各种控件默认高度 http://blog.csdn.net/chengyakun11/article

    1.3K30

    你可能需要为你的APP适配iOS11

    UIToolbar and UINavigationBar— Layout 在 iOS 11 中,当苹果进行所有这些新特性时,也进行了其他的优化,针对 UIToolbar 和 UINavigaBar 做了新的自动布局扩展支持...; ③ 通过约束关联你的子视图; 二 管理margins 和 insets layout margins 基于约束的Auto Layout,使我们搭建能够动态响应内部和外部变化的用户界面。...是描述你的视图部分不被任何内容遮挡的方法。...是个估算值,是通过estimatedRowHeight x cell的个数得到的,并不是最终的contenSize,tableView就不会一次性计算所有的cell的高度了,只会计算当前屏幕能够显示的cell...默认情况下,表视图的整个内容避免了其根视图控制器的安全区域的插入。

    82920

    你可能需要为你的 APP 适配 iOS 11

    UIToolbar and UINavigationBar— Layout 在 iOS 11 中,当苹果进行所有这些新特性时,也进行了其他的优化,针对 UIToolbar 和 UINavigaBar 做了新的自动布局扩展支持...要避免视图尺寸为0,可以从以下方面做: UINavigationBar 和 UIToolbar 提供位置 开发者则必须提供视图的size,有三种方式: 对宽度和高度的约束; 实现 intrinsicContentSize...是描述你的视图部分不被任何内容遮挡的方法。...我们知道在iOS8引入Self-Sizing 之后,我们可以通过实现estimatedRowHeight相关的属性来展示动态的内容,实现了estimatedRowHeight属性后,得到的初始contenSize...是个估算值,是通过estimatedRowHeight x cell的个数得到的,并不是最终的contenSize,tableView就不会一次性计算所有的cell的高度了,只会计算当前屏幕能够显示的cell

    1.7K60

    RunLoop总结:RunLoop的应用场景(三)滚动视图流畅性优化

    (这一点,相信大家都知道,要尽量避免在主线程中执行,一般都是创建一个子线程来执行,然后再回到主线程) 2.动态计算UITableViewCell的高度,时间过久 在iOS7之前,每一个Cell的高度,...只会计算一次,后面再次滑到这个Cell这里,都会读取缓存的高度,也即高度计算的代理方法不会再执行。...但是到了iOS8,不会再缓存Cell的高度了,也就是说每次滑到某个Cell,代理方法都会执行一次,重新计算这个Cell的高度(iOS 9以后没测试过)。...我们依然需要动态计算各个子视图的高度。...简单说明一下,就是屏幕上显示的所有东西,都是通过一个个像素点呈现出来的。而每一个像素点都是通过三原色(红、绿、蓝)组合呈现出不同的颜色,最终才是我们看到的手机屏幕上的内容。

    2.2K41

    iOS 9 Storyboard 教程(一下)

    在storyboard中有很多可堆叠的内容,但有时却很难点击你想确切操作的内容.如果你遇到麻烦,下面有几个选项可以帮你.第一个就是在左侧的Document Outline里,你可以选择这个item.第二个是一个方便的热键...,否则这个小的方案将不会起作用!...从Objects Library 拖拽两个Label对象到cell里,把它们粗略的放到标准标签的位置.只要在Attributes Inspector选择你喜欢字体和颜色.设置顶部标签为Name,底部标间为...tag被用在这里更加简单.在后面的课程里,你会创建一个自定义的类,继承自UITableViewCell,并且包含对应于你的cell视图的属性....你看,只要你的数据源请求table view通过dequeueReusableCellWithIdentifier创建了一个新的cell,那么这个table view将不会调用真正的原型cell,而是一个拷贝

    3.1K20

    7年iOS架构师教你如何快速提高并掌握 iOS开发核心技能

    前言: 首先你要花点时间针对objective-c语言的学习;毕竟这个是iOS开发的基础(你也可以尝试用Swift,但此项目只是针对OC),编程套路其实都是差不多,多写多想多实践;关于环境的搭建就不在本文进行介绍...,这部分内容可以自行百度或谷歌,都有相应的说明; 对于一个刚入门总是希望有个完整的项目可以直接运行,并且从中学习功能模块如何开发;本项目初识就是为了把常见的功能模块进行一个展现,里面还包含一些基础知识的介绍...; 30:JavaScriptCore运用 跟H5结合的实例,完成相应的调用效果 31:Masonry布局实例 列出一些比较常见的布局方式 32:键盘处理操作 实现关于键盘弹出时的自定义视图高度问题 33...:自定义导航栏动态显现效果 可以实现滚动时对导航栏的变化,监听关于滚动的变化 34:列表只加载显示时Cell的SDWebImage图 实现列表在快速滚动时行的图片先不进行加载,直到停止时才进行加载图片,...,其实每一个都是一个真实的功能实现;相信这些功能点已经足够满足你开发一个APP;你可以针对每一个功能点进行查看。

    97910

    最新iOS设计规范七|10大视觉规范(Visual Design)

    视图可能包含尺寸类型的任意组合: 常规宽度,常规高度 紧凑宽度,紧凑高度 常规宽度,紧凑高度 紧凑宽度,常规高度 iOS会根据内容区域的尺寸类型动态地进行布局调整。...全屏iPhone型号的状态栏比其他型号高。如果你的APP采用固定的状态栏高度将内容定位在状态栏下方,则必须更新APP以便于根据用户的设备来动态的定位内容。...使用这两组背景颜色,通常使用变体以下列方式指示层次结构: 主要的,用于整体的 次要的,用于在整体视图中对内容或元素进行分组 第三层,用于将第二层元素中的内容或元素分组 对于前景内容,iOS定义以下颜色...七、材质(Materials) iOS提供的材质(或模糊效果)都可创建半透明效果,可唤起深度感。材质的效果是为了让视图和控件能够提示背景内容,同时又不会分散前景内容。...适当调整来提高可读性或节省空间。 确保自定义字体清晰易读。 实现自定义字体的辅助功能。 根据需要在界面模型中调整跟踪。

    8.1K30

    IOSProject

    +MP类 19 开发关于图片上传,包含选择照片、拍照、浏览大图、获得图片GPS、图片名称、图片拍照时间、上传时对图片进行转正调整、压缩图片、图片展现效果 20 开发关于图片上传带进度效果,并把照片先存入沙盒中...,上传成功删除,引入M13ProgressSuite插件显示进度扇形效果,部分用到ReactiveCocoa知识; 21 编写一个以iphone5为效果图的字体适配屏幕,兼容iphone6+效果,如果你的效果图不是...; 30 JavaScriptCore运用 跟H5结合的实例,完成相应的调用效果 31 Masonry布局实例 列出一些比较常见的布局方式 32 键盘处理操作 实现关于键盘弹出时的自定义视图高度问题 33...自定义导航栏动态显现效果 可以实现滚动时对导航栏的变化,监听关于滚动的变化 34 列表只加载显示时Cell的SDWebImage图 实现列表在快速滚动时行的图片先不进行加载,直到停止时才进行加载图片,...优化展现 35 长按列表行拖动效果 实现列表中的某一行进行动态拉动,并插入到其它位置效果

    9910
    领券