QApplication.desktop() 可以获取到桌面的宽度和高度。 窗口的 move() 属性可以设置窗口的位置。...def setupUi(self, Dialog): # 获取桌面属性 desktop = QApplication.desktop() # 通过桌面的宽和高来比例位置显示
导航栏调色那些事儿 小规律: 要设置内容,全找item 要修改颜色及文字属性,找bar 1.1 改变 NavigationBar 的背景颜色 [UINavigationBar appearance].barTintColor...[[UINavigationBar appearance] setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];[[UINavigationBar...如果是YES,就带了毛玻璃效果,tableView就从屏幕的左上角开始了。...2.2 关闭半透明效果 一旦关闭标签栏的半透明效果,控制器的view就不会到达屏幕最底部了,而是到了标签栏的紧上方。...标签栏的默认高度是49. self.tabBar.translucent = NO;
; 1.全局设置 全局设置一般的都是在AppDelegate中设置,这样整个app都会生效,相关的代码与效果图如下: //1.设置导航栏背景颜色 [[UINavigationBar appearance...[[UINavigationBar appearance] setTintColor:[UIColor greenColor]]; //5.设置导航栏隐藏 [[UINavigationBar appearance...比如我们进入一个页面,需要设置当前导航栏的背景色为灰色,使用如下方法: //进入页面时设置颜色:灰色 - (void)viewWillAppear:(BOOL)animated{ [super...与标签栏UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器的UI布局进行优化:视图控制器里面第一个被添加进去的视图是滑动类视图,并且其Frame是整个屏幕大小时,系统会自动调整其contenInset...edgesForExtendedLayout edgesForExtendedLayout也是视图控制器的布局属性,默认值是UIRectEdgeAll,即:当前视图控制器里各种UI控件会忽略导航栏和标签的存在,布局时若设置其原点设置为
设置导航栏的背景图片 (多见于导航背景颜色是渐变颜色,使用一张图片)但是这张图片设置好以后,所有的控件的Y坐标都会下移64,也就是说,这张图片会占用屏幕的64pt 高度的屏幕,而且无法被普通试图覆盖使用...[[UINavigationBar appearance] setBarTintColor: RGB(3, 14, 30, 1)]; 你会发现你设置的导航颜色是正常的色值,但是就是偏淡,那是因为导航的默认属性是半透明的...UINavigationBarappearance]setTranslucent:NO];设为不透明,带来的问题就是导航条占了64 像素 #define NavHeight 0 导航高度修改为...上面设置的为YES,下面的为NO 关于导航返回: 首先ios7 之后只要使用系统自带的导航效果就有手动滑动返回的效果。但是当自定义返回按钮时,这种手动滑动返回的效果就没有了。...将状态栏隐藏就可实现这样不错的页面效果 PS: backBarButtonItem的自定义事件是不会被执行的 backItem = [[UIBarButtonItem alloc] initWithTitle
UIControl; -- 修改方法 : 使用 command + option + 3 打开身份检查器面板, 将 Custom Class 设置为 UIControl 类; -- 修改后 : (...将背景控件设置为 UIControl : 之前的 UIView 不能响应点击事件, 在身份检查器 面板将 Custom Class 由 UIView 修改为 UIControl; -- 2....*bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)]; //将导航条添加到 UIView 布局中...*bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)]; //将导航条添加到 UIView 布局中...*bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)]; //将导航条添加到 UIView 布局中
二、UINavigationBar的创建和风格类型 导航栏继承于UIView,所以我们可以像创建普通视图那样创建导航栏,比如我们创建一个高度为80的导航栏,将其放在ViewController...我们也可以设置导航栏的风格属性,从iOS6之后,UINavigationBar默认为半透明的样式,从上面也可以看出,白色的导航栏下面透出些许背景的红色。...三、导航栏常用属性和方法 从上面我们可以看到,iOS6后导航栏默认都是半透明的,我们可以通过下面的bool值来设置这个属性,设置为NO,则导航栏不透明,默认为YES: @property...@property(nullable, nonatomic,strong) UIColor *barTintColor; BarTintColor用于设置导航栏的背景色,这个属性被设置后,半透明的效果将失效...上面不只是简单的显示标题,它也将标题进行了堆栈的管理,每一个标题抽象为的对象在iOS系统中是UINavigationItem对象,我们可以通过push与pop操作管理item组。
如果我们的游戏屏幕有640像素高,那么实际换算成单位高度则是6.4个单位, 当我们摄像机的orthographicSize值是3.2时,摄像机大小刚好与屏幕大小相等 4、Unity3D中的屏幕适配设置...接着在Canvas Scaler属性里将Ui Scale Mode属性设置为Scale With Screen Size, 表示Canvas会根据屏幕比例缩放。...然后Match调整为0或1,0表示完全宽度适配, 1表示完全高度适配,其他值表示介于两者之间采用比例适配 ?...2、然后调整Rect Transform组件中的Width和Height为设计尺寸的宽和高,同时将Scale属性的X和Y都调整为0.01(对应unity2d默认情况下像素Pixels与引擎单位Unit对应比例...这两种方法都可以将UI调整为与设计尺寸一致,并且在编辑器中运行与真机中运行效果保持一致。 ? Paste_Image.png 6-3:办法3: 给摄像机挂下图脚本就可以搞定比例问题: ?
而屏幕适配又包括: 屏幕尺寸(small,normal,large,xlarge , 这些在Android 3.2以上版本开始不建议使用,转而使用最小屏幕宽度如 sw600dp,最小宽度,最小高度等)...的宽高设置为跟随内容即wrap_content,那么屏幕显示的ImageView的宽高分别是多少像素?...由于我们设置ImageView宽高为wrap_content,那么其大小将跟图片大小一样,需要知道如何计算图片的宽高。...将ImageView的宽度高度设成固定大小比如48×48 dp,在N719上测试情况如下: 布局文件: 设置scale type,图片会按ImageView大小来显示,如果设置同样大小图片,ldpi 会压缩大小(128 -> 96),hdpi会拉伸大小(64 -> 96) 最后一个ImageView
如果设置表示长度、高度等属性时可以使用 dp 或 sp。但如果设置字体,需要使用 sp。 dp 是与密度无关,sp除了与密度无关外,还与 scale 无关。...如果屏幕密度为160,这时 dp 和 sp 和 px 是一样的。...那么原来 TextView 的宽度设成160px,在密度为320 的3.2 寸屏幕里看要比在密度为160 的3.2 寸屏幕上看短了一半。 但如果设置成160dp 或160sp 的话。...系统会自动将 width 属性值设置成320px 的。也就是160 * 320 / 160。 其中320 / 160 可称为密度比例因子。...总之:字体大小按像素来就用px,按物理长度来就用dp,按物理长度但是和系统字体有关系用sp
2.1.3、实际视口中的元素缩放行为 当实际视口短于基准视口,主要元素大小与基准视口保持不变,次要元素按视口比例缩小; 当实际视口长于基准视口,主要元素按视口比例放大,次要元素大小与基准视口保持不变。...锚点的设置可以让元素的定位更加灵活:如果将元素的锚点设置为其底边的中点,那么令锚点吸附视口顶部即可实现元素底部相对视口顶部距离固定,这是常规固定定位无法实现的。...1、基准视口与实际视口 1.1、基准视口宽高 描述基准视口的宽度与高度,我们设基准宽度用 baseW 表示,其值为 10.8 rem (对应设计稿 1080px ),同理基准高度 baseH 的值设置为...,则称其为 按比例居中。...特性是元素 锚点距视口顶部和底部的距离成固定比例,即 不同视口中,元素 高度的一半加上元素顶部到屏幕顶部的距离的和 的值,与元素 高度的一半加上元素底部到屏幕底部的距离的和 的值,这两个值 相等。
(2)将File’s Owner的view属性设置为xib文件(拽线设置即可)。...验证:通过纯代码跳转时发现屏幕黑色且卡顿,设置颜色后正常。 loadView方法 用于创建 UIViewController 的 view。...需要设置当前的 UIViewController 为被代理 UIViewController 中的代理属性。 闭包 可以理解为代理模式中协议的闭包替代,比代理模式更简单。...颜色问题 UINavigationBar 的颜色:可以通过 UINavigationBar 的barTintColor设置。...UINavigationBar 上面内容的渲染颜色:默认情况下,按钮或系统图片按钮都会渲染成蓝色,可以通过 UINavigationBar 的tintColor设置。
但是如果有特殊需求也可以使用高度来进行适配,比如需求要求是 banner 占屏幕的 1/4 ,或者要求内容刚好一屏显示,这个时候设置控件的高度时就可以采用高度单位来进行适配。...= 1.h ,除非刚好屏幕分辨率比例与设计图比例一致,所以如果要设置正方形,切记使用相同的单位,如都设置相同的 w 或者 h ,否则可能显示为长方形。...•sw :screen width 的缩写,即屏幕宽度,作用是按屏幕宽度比例返回值。...如 0.2.sw 则返回屏幕宽度的 20%,1.sw 则是整个屏幕宽度•sh :screen height 的缩写,及屏幕高度,作用与 sw 类似,返回指定比例的屏幕高度值。...如 1.sh 为整个屏幕高度 使用 sp 作为字体单位,默认是会随着系统字体缩放进行变化,如果不想字体随着系统缩放而变化,可设置 textScaleFactor 为 1.0 来实现。
;如果没找到设置默认image.scale=1.0,对应逻辑size大小同像素尺寸。...下将按比例横向放大。...(2)按高度适配 在同样的宽度下,iPhone4(s)的屏高比iPhone5(s)低,若纵向排版紧张,可以iPhone5(s)为基准,按高度适配: fitScreenHeight= height...*(SCREEN_HEIGHT/568) 共有iPhone3/4、5、6、6+四组高度,在iPhone3/4下将按比例纵向缩小,在iPhone6、6+下将按比例纵向放大。 ...(3)按字体适配 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView),无法左右滑动
本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 在说容易按比例缩放前,我们先说下图片按比例缩放。... .demo1{ width: 100px;/* 只设置宽度,根据等比例缩放得到高度为...75px */ } .demo2{ height: 150px; /* 只设置高度,根据等比例缩放得到宽度为200px */ } 图片因为本身存在宽高比,所以设置一个值,另一个值自动也就根据真实的比例对应上...padding的百分比是按照容器宽度计算的,所以由padding来撑开容器高度,而不是height,保证了容器的宽高比例),最后设置视频绝对定位,其宽高为容器的100% .wrap{ height...这是一个移动端页面的一部分,要求全屏里面正好三张图片,左右图片宽度是相等的,第一个图片和第三个图片下面要对齐,图片之间的间距为10px。鉴于移动端的屏幕大小不等,所以使用定宽不合适。
在说容易按比例缩放前,我们先说下图片按比例缩放。....demo1{ width: 100px;/* 只设置宽度,根据等比例缩放得到高度为...75px */ } .demo2{ height: 150px; /* 只设置高度,根据等比例缩放得到宽度为200px */ } 图片因为本身存在宽高比,所以设置一个值,另一个值自动也就根据真实的比例对应上...padding的百分比是按照容器宽度计算的,所以由padding来撑开容器高度,而不是height,保证了容器的宽高比例),最后设置视频绝对定位,其宽高为容器的100% .wrap{ height: 0...鉴于移动端的屏幕大小不等,所以使用定宽不合适。 详细请参考容器等比缩放demo
;如果没找到设置默认image.scale=1.0,对应逻辑size大小同像素尺寸。...因此可以按宽度适配: fitScreenWidth= width*(SCREEN_WIDTH/320) 这样,共有iPhone3/4/5、6、6+三组宽度,在iPhone6、6+下将按比例横向放大...(2)按高度适配 在同样的宽度下,iPhone4(s)的屏高比iPhone5(s)低,若纵向排版紧张,可以iPhone5(s)为基准,按高度适配: fitScreenHeight= height...*(SCREEN_HEIGHT/568) 共有iPhone3/4、5、6、6+四组高度,在iPhone3/4下将按比例纵向缩小,在iPhone6、6+下将按比例纵向放大。...(3)按字体适配 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView
为了更直观的了解ugui的缩放原则,我们可以直接通过实验测试数据来观察: 如上所示,此时我设置的测试分辨率为1440*2960,因为设置的是按照参考分辨率的宽度进行匹配,所以整个画布的高度就会变为2960...通过上面的观察我们可以发现,当以宽度进行适配时,只与参考分辨率的宽度和屏幕分辨率的宽度有关,是以这两个数值的比例进行的画布缩放; 同样的道理,如果我们设置为以高度进行匹配,就与屏幕的宽度和参考分辨率的宽度无关了...(例如很多人是宽度按宽度适配和缩放,高度按高度适配和缩放,最后计算的结果可想而知!) 现在的问题就在于,什么时候应该适配参考分辨率的宽度,什么时候应该适配高度呢。...最好的方法是以最小的缩放幅度来达到适配UI的目的,也就是说,我们需要比较当前屏幕的宽高比与参考分辨率的宽高比之间的大小,最理想的情况当然是双方宽高比相同,那就无论匹配宽还是高都一样,也无需进行任何比例的缩放就能完美适配...但事实上这种可能性几乎为零,当参考分辨率的宽高比大于屏幕分辨率的宽高比时,此时屏幕分辨率看上去会比参考分辨率显得更高,所以此时应该以参考分辨率的宽度进行匹配,将高度进行对应比例的压缩,宽度则保持不变。
简介 我们在构建UI的时候,为了适应不同的屏幕大小,通常需要进行一些自适应的配置,而最常见的自适应就是根据某个宽度或者高度自动进行组件的缩放。...AspectRatio AspectRatio的目的就是将其child按比例缩放。...首先是一个无限宽度但是高度为150的container,然后再container的child中使用了AspectRatio组件,如下所示: Widget build(BuildContext context...FractionallySizedBox FractionallySizedBox和AspectRatio有些类似,不过FractionallySizedBox是按照可用空间的大小来进行比例设置的。...为了方便起见,我们将child用一个DecoratedBox封装起来,用来展示box的边界,最后得到的界面如下所示: 总结 熟练使用AspectRatio和FractionallySizedBox可以很方便的按比例来绘制界面的元素
,需要自定义尺寸 public interface CustomAdapt { /** * 是否按照宽度进行等比例适配 (为了保证在高宽比不同的屏幕上也能正常适配, 所以只能在宽度和高度之中选一个作为基准进行适配...AndroidAutoSize 的影响, 如果为 true, App 内的字体的大小将不会跟随系统设置中字体大小的改变 //如果为 false, 则会跟随系统设置中字体大小的改变...false // .setLog(false) //是否使用设备的实际尺寸做适配, 默认为 false, 如果设置为 false, 在以屏幕高度为基准进行适配时...//AutoSize 会将屏幕总高度减去状态栏高度来做适配 //设置为 true 则使用设备的实际屏幕高度, 不会减去状态栏高度 //....setUseDeviceSize(true) //是否全局按照宽度进行等比例适配, 默认为 true, 如果设置为 false, AutoSize 会全局按照高度进行适配
领取专属 10元无门槛券
手把手带您无忧上云