现在开发iOS无非就是用xib和纯代码开发,不论用什么方式开发都少不了屏幕适配。这只是个人开发中使用的方法也不一定是最好的方法,仅供交流和分享使用。...Xib 屏幕适配 关于xib屏幕适配要注意两点 1.字体大小适配 2.控件约束适配 xib字体适配 UILable 为例子 #import NS_ASSUME_NONNULL_BEGIN...bounds.size.width/kDesignWidth; return scaleSize; } @end Macro #ifndef Macro_h #define Macro_h // 基准屏幕宽度...(iphone 6) #define kDesignWidth 375.0 // 以屏幕宽度为固定比例关系,来计算对应的值。...kDesignWidth) #endif 约束适配 利用IBInspectable关键字和分类 1.写一个NSLayoutConstraint的分类,添加adapterScreen的属性(Bool 值,yes代表需要对屏幕进行等比例适配
健在上 UIInterfaceOrientationLandscapeLeft //home健在左 UIInterfaceOrientationLandscapeRight //home健在右 旋转屏幕时触发的函数...- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation NS_AVAILABLE_IOS(6_0); ----...4.当前屏幕方向interfaceOrientation的获取.
screen.width:显示浏览器的屏幕的宽度 screen.Height:显示浏览器的屏幕的高度 screen.availWidth:显示浏览器的屏幕的可用宽度 screen.availHeight...:显示浏览器的屏幕的可用高度(这个可用高度不包括分配给半永久特性(如屏幕底部的任务栏)的垂直空间。)
前言 iOS tableView的cell在显示之前必须获取cell的高度,如果cell的高度都一样,统一设置就行了,但是cell的高度不统一的话就要一一设置了,在ios8之前,需要自己手动去计算,iOS...之后就方便多了 iOS8以下(不包含iOS8) 定义全局变量 //用于缓存计算高度的cell var offscreenCells:[String:AnyObject] = [:]; 保存计算高度的Cell...cell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height + 1; return textHeight + minHeight - 10; } iOS8...以上(包含iOS8) 添加一下两个属性就行了 self.tableView.estimatedRowHeight = 44.0; self.tableView.rowHeight = UITableViewAutomaticDimension...1000,我们只要降低我们自己view高度约束的优先级就行了,设置高度的约束优先级为750,这样当系统估算后添加估算高度后,我们自己设置的高度就不起作用了。
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrien...
在日常的项目中经常需要获取屏幕的宽度或者高度,简单记录一下: Javascript方法获取: document.body.clientWidth //网页可见区域宽 document.body.clientHeight...document.body.scrollLeft //网页被卷去的左 window.screenTop //网页正文部分上 window.screenLeft //网页正文部分左 window.screen.height //屏幕分辨率的高...window.screen.width //屏幕分辨率的宽 window.screen.availHeight //屏幕可用工作区高度 window.screen.availWidth //屏幕可用工作区宽度...JQuery方法获取: ($(window).height()); //浏览器当前窗口可视区域高度 ($(document).height()); //浏览器当前窗口文档的高度 ($(document.body...).height());//浏览器当前窗口文档body的高度 ($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding
document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth...==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 看了以上代码,可能会有疑问说body和可见区域到底有什么不同呢,我们在console...return document.documentElement.clientWidth || document.body.clientWidth; 4 } 5 6 // 获取浏览器窗口的可视区域的高度
常见布局方式 固定间距 :不同尺寸下,间距总是固定的 流式布局 : 文字、图片等在不同屏幕下流式排布,比如大屏下一行显示四张图片,小屏一行三张,图片尺寸固定 比例放大 :间距、文字大小,图片大小等比例放大...保持比值 :俩个UI元素或者图片的长宽等属性保持一定的比值 对齐 :元素间按某个方向对齐 屏幕适配的方法 Autoresizing AutoLayou VFL Masonry SnapKit
375的屏幕宽度,你不能距离左边200,距离右边200,还要控件宽度100,肯定不行) 黄色箭头,代表约束警告,表示当前控件在xib中呈现的位置或者尺寸和程序运行后实际呈现的效果不一样,导致约束警告的原因往往是没有更新控件的约束...高度的设置同理可证。 当然,我们也可以只给UILabel设置x、y。但必须要保证UILabel的text属性有内容,否则UILabel显示不出来(这是初学者经常犯的错误)。...原因在于,UILabel是根据内容自动调整宽度和高度,如果没有内容,那么宽度和高度就是0,导致UILabel无法显示。...XIB中设置AutoLayout 多个控件对齐处理 多个控件对齐处理 单个控件的处理 单个控件的处理 Safe Area : iOS11...默认为当前设置方向最近的一个VIew,且没有覆盖遮挡的视图 注意:上下左右的间距和控件的宽度、高度配合使用,尽量不要冲突; 例如:375的屏幕宽度,你不能距离左边200,距离右边200,还要控件宽度100
( 只看有关的代码哦 ) // 此处使用stylus书写样式 .evaluation // 最外边的div width 100% height 100vh // 高度为屏幕的高度 padding-top...background #ffffff color #444444 font-size 0.32rem border-bottom 1px solid #cccccc 因为内容并没有占满整个屏幕..., 所以设置 height : 100vh 本来可以占满屏幕 , 但它会默认将头部和底部也加进去了 , 所以会超出屏幕高度 , 那怎么解决呢 ?....evaluation // 最外边的div width 100% min-height: calc(100vh - 0.9rem) //这个页面只有头部,所以将头部的高度减去 padding-top
Masonry简介 Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装AutoLayout,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X 下载链接...width、height、size 边距 left、top、right、bottom、leading、trailing 中心点 center、centerX、centerY 边界 edges //iOS8
-[blueView]-20-| 水平方向上,blueView距离父视图的左右俩边距均为20 V:|-[button(50.0)]: 垂直方向上,距离父视图顶部标准默认间距20,button高度为...blueView(100)] 水平方向上,blueView距离父视图的左边距为20,blueView的宽为100 V:[blueView(50)]-100@250-| 垂直方向上,blueView高度为
SnapKit简介 SnapKit是一个优秀的第三方自适应布局库,它可以让iOS、OS X应用更简单地实现自动布局(Auto Layout) 下载链接 SnapKit SnapKit配置 使用pods方式引入类库...width、height、size 边距 left、top、right、bottom、leading、trailing 中心点 center、centerX、centerY 边界 edges //iOS8
miniprogram/dev/api/base/system/system-info/wx.getSystemInfo.html wx.getSystemInfo(Object object) 可获取系统信息,屏幕的高度和可使用的高度以及宽度...小程序中,窗口宽度固定为100vw,将窗口宽度平均分成100份,1份是1vw 小程序中,窗口高度固定为100vh ,将窗口高度平均分成100份,1份是1vh 所以,我们在小程序中也可以使用vw、vh作为尺寸单位使用在布局中进行布局...实例代码,需要2个view元素在屏幕中间高度各占比47%,宽度98%; .header { witdh: 98%; height: 47vh; }
@"iOS" NSString *strSysVersion = [[UIDevice currentDevice] systemVersion]; NSLog(@"系统版本号
Autoresizing简介 Autoresizing是苹果早期屏幕适配的解决办法,当时iOS设备机型很少、屏幕尺寸单一、APP界面相对简单,屏幕适配并没有现在这么复杂,所有的UI控件只要相对父控件布局就可以了...Autoresizing 举个例子: 当我们将左边和上面虚线变成实线时,代表子控件和父控件在这个方向上的间距被固定 当我们点击子视图内部的虚线时,同样也变为实线,代表子视图的宽度或者高度被固定了...高度、右边距随父控件缩放而缩放 UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight.gif...高度、左间距随父控件的缩放而缩放 UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight.gif...同理, 如果垂直方向同时固定了上边距和下边距,那么我们不能固定子控件的高度(反应在storyBoard中的设置,也就是必须使控制子控件高度的虚线变为实线) Autoresizing缺点 Autoresizing
文章目录 一、Android 与 iOS 屏幕宽高比种类 二、屏幕像素密度 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 一、Android 与 iOS 屏幕宽高比种类...---- Android 屏幕尺寸类型如下 , 安卓设备的屏幕尺寸复杂性远远高于 iOS 设备 , Android 设备有两万种屏幕类型 , iOS 只需要适配五种分辨率即可 ; iOS 屏幕尺寸如下..., 只需要适配有限的几种屏幕类型即可 ; 二、屏幕像素密度 ---- 屏幕像素密度 的单位是 DPI , 是 Dots Per Inch 的缩写 , 也就是每 英寸 的 像素点 个数 ; 屏幕尺寸...指的是 屏幕 斜对角的 英寸 长度 ; 假设屏幕尺寸为 6.5 寸 , 屏幕的宽高分辨率为 1080 \times 1920 , 计算该屏幕的 屏幕像素密度 ( DPI , Dots Per Inch...) ; ① 首先 使用勾股定理 计算屏幕 对角线 上的像素个数 : 对角线上的像素个数 = \sqrt{分辨率宽度 ^2 + 分辨率高度^2} = \sqrt{1080 ^2 + 1920^2} \approx
二、TRTC 屏幕分享实现 上一篇介绍了iOS系统屏幕录制的实现方案,接下来我们介绍一下腾讯TRTC SDK的接入方案。 本文介绍的场景是TRTC的会议场景的屏幕分享。...首先在项目里调用SDK的录屏功能,需要设置一些参数,如下: func startScreenShare() { if #available(iOS 12.0, *) {...,所以在分享屏幕之前需要确保本地摄像头采集停止。...另外TRTCBroadcastExtensionLauncher.launch() 是一个比较trick的用法,目前的iOS版本都没问题,但是如果Apple以后改了RPSystemBroadcastPickerView...TXLiteAVSDK_ReplayKitExt是TRTC iOS端的SDK为了配合推流而专门写的一个库TXLiteAVSDK_ReplayKitExt,大家可以直接调用就好。
1 概述 iOS6之前,屏幕适配一般使用autosize,设置视图与父视图的尺寸关系 缺陷:(Autosizing布局的不足) 1.不能设置视图与视图之间的关系 2.不能设置尺寸放大,缩小的最大值...,最小值 iOS6之后,使用自动布局AutoLayout; iOS8 size classes (更加抽象,正方形); 另外,现在主流的一些设备参数如下: iPhone4,iPhone4s分辨率960*...另外,iPhone6 Plus有一点和其他设备不同:在App内部获得的屏幕分辨率是1242*2208,但设备实际分辨率是1920*1080,这时系统会把整体的显示内容做一个缩放,downscale到1/...App在旧版iOS启动时,该属性会被自动忽略,不会造成异常。...鉴于现在不少App还需要兼容iOS5,而第一种方法在iOS5上可能有bug,所以这里推荐用第二种方法。
一、iOS屏幕共享方案 实现直播过程中共享屏幕分为两个步骤:屏幕数据采集和流媒体数据推送。...前对于iOS来说,屏幕采集需要系统的权限,受制于iOS系统的限制,第三方app并没有直接录制屏幕的权限,必须通过系统的功能来实现。不同的版本之间有一些差异,下面做个简单的介绍。...iOS 9 Apple在iOS 9 推出了ReplayKit框架,提供了录屏功能,但是限制是只能录制本App内的屏幕。...来实现(这也是为什么腾讯的TRTC iOS屏幕分享功能最低支持到iOS11的原因)。...iOS 11限制:app内无法直接启动屏幕录制,需要用户手动在控制中心启动。
领取专属 10元无门槛券
手把手带您无忧上云