首页 > 其他分享 >关于3x手机渲染问题

关于3x手机渲染问题

时间:2023-08-13 19:33:24浏览次数:27  
标签:dView 3x 渲染 UIScrollView 手机 100 true isActive view

iOS 中利用通过 setFrame 来固定一个 view 的位置,例如下面代码:

let dView = UIView()
dView.frame = CGRect(x: 100, y: 100, width: 100, height: 70.8)
dView.backgroundColor = .orange
view.addSubview(dView)

通过 Xcode 的 Debug View Hierarchy 看到,dView 的 frame 也确实是我们设置的。但是如果使用 Autolayout 呢?

let dView = UIView()
dView.backgroundColor = .orange
view.addSubview(dView)
dView.translatesAutoresizingMaskIntoConstraints = false

dView.topAnchor.constraint(equalTo: view.topAnchor, constant: 100).isActive = true
dView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 100).isActive = true
dView.widthAnchor.constraint(equalToConstant: 73.8).isActive = true
dView.heightAnchor.constraint(equalToConstant: 100).isActive = true

我们再次通过 Debug View Hierarchy 可以看到,dView的 frame 为(100, 100, 73.667, 100)。

在3x手机中,autolayout 渲染的只有0,0.333,0.667,1。这样也就不难理解设置分割线都是 1 / UIScreen.main.scale 。

除了 autolayout 中有这个问题,在 UIScrollView 的 scrollViewDidscroll 回调中,也有该问题。所以可能会出现滑动的问题。(比如:UIScrollView嵌滚动时,上UIScrollView滚动高度设置为73.8,但是系统返回的是73.667,这样下UIScrollView永远无法滚动)

 

标签:dView,3x,渲染,UIScrollView,手机,100,true,isActive,view
From: https://www.cnblogs.com/fwzhou/p/17627060.html

相关文章

  • C语言编程教程:如何提取手机尾数
    C语言编程教程:如何提取手机尾数在C语言编程中,我们经常需要处理各种数据类型和操作。今天,我们将分享一个有趣且实用的主题:如何提取手机尾数。手机尾数是手机号码中的最后几位数字,提取这些数字可以为我们的程序带来更多可能性。在本文中,我们将介绍一种简洁而有效的方法,帮助你轻松提......
  • pinia入门案例-获取频道分类列表并渲染
    使用pinia的action异步获取频道分类列表数据并渲染到页面中。接口:GET请求,http://geek.itheima.net/v1_0/channelsstore/channel.jsimport{defineStore}from'pinia'import{ref,computed}from"vue"importaxiosfrom'axios'exportconstuseChannelStore=......
  • MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类|
    最近我们被客户要求撰写关于长短期记忆(LSTM)神经网络的研究报告,包括一些图形和统计输出。此示例说明如何使用长短期记忆(LSTM)网络对序列数据的每个时间步长进行分类。要训练深度神经网络对序列数据的每个时间步进行分类,可以使用 序列对序列LSTM网络。序列对序列LSTM网络......
  • 【CV】Nerf中体素渲染的离散公式推导
    在文章《NeRF:representingscenesasneuralradiancefieldsforviewsynthesis》中体素渲染的连续形式为在文章中给出了其离散形式为实际上这里的离散形式并不是将积分直接离散化,而是通过把路径上的density和color设定为分段常数,如下图所示于是先计算\(T\),\[\begin{a......
  • IOS 苹果手机根据时间自动切换主题和壁纸
    准备壁纸打开文件APP进入iCloud云盘/Shortcuts目录,创建名为壁纸的目录,然后加入两张图片,Dark.jpg和Light.jpg创建快捷指令打开快捷指令APP新建文件夹名为壁纸进入壁纸目录,新建快捷指令名为Light搜索如果,输入选择输入快捷指令的信息,条件选择有任何值搜索设定外......
  • Qt 渲染原理
    QStyleQStyle决定了各种控件在不同OS平台(win10,apple,vista,xp)等基本的样式;它的继承类实现了相应的接口使得在不同操作平台上观感,细节大不相同;也就是说,QStyle的派生类能够管理到控件的整个绘制过程Qt包含一组QStyle子类,它们模拟Qt支持的不同平台的样式......
  • Qt 一文带你了解qt的三种 渲染引擎,包括栅格引擎(Raster)、OpenGL 和本地绘图系统
    概述Qt提供了多种渲染引擎,包括栅格引擎(Raster)、OpenGL和本地绘图系统。选择哪种引擎主要取决于你的应用程序需求和你的硬件环境。栅格引擎(Raster):这是Qt的软件渲染引擎,它在CPU上执行所有的绘图操作。栅格引擎在所有平台上都提供了一致的视觉效果,但可能会比硬件加速的引......
  • Qt 渲染
    1)Qt::AA_UseDesktopOpenGL使用显卡的openGL库,且要求支持openGL2.1及以上的版本。因此很多老旧设备是不满足版本要求的(windows默认的驱动版本只支持openGL1.1)。(依赖硬件,即硬件加速渲染)2)Qt::AA_UseOpenGLES使用Angle库来将DirectX11或者DirectX9的接口转成OpenGLES2.0的API,从......
  • 苹果APP安装包ipa如何安装在手机上
    苹果APP安装包ipa如何安装在手机上苹果APP的安装比安卓复杂且困难,很多人不知道如何将ipa文件安装到手机上。以下是几种苹果APP安装在iOS设备的方式,供大家参考。一、上架AppStore这是最正规的方式。虽然审核过程复杂、时间较长,且审核条件较为苛刻,但借助第三方开发者服务平台进行上......
  • Flutter中如何实现手机键盘右下角完成键搜索
    要实现在手机键盘右下角显示“完成”键作为搜索按钮,可以使用TextInputAction属性来控制键盘的行为。将textInputAction属性设置为TextInputAction.search即可将键盘右下角的按钮改为“完成”按钮,并且点击该按钮时会触发提交(搜索)操作。下面是一个示例代码:import'package:flutter/ma......