首页 > 编程知识 正文

ios空白代码,移动端自适应布局

时间:2023-05-04 03:03:40 阅读:113389 作者:4834

本文介绍IOS开发入门IOS的代码集适用于所有iPhone手机的布局实现方案。 我希望这篇文章对学习IOS有帮助。

iOS套码适应所有iPhone手机布局实现方案

本文主要介绍代码适合所有iPhone手机的布局解决方案。 了解原理和思想是重点。

多个项目采用这样的布局方式,感觉很好,但实际上让我们看看你们的UI是否能接受这种方式

主要思想是屏幕根据屏幕尺寸动态改变所有控件大小,实现所有屏幕的配合

先展示效果

将手机放大到同样大小的效果

所有手机的显示效果都差不多

手机的顺序是iphone5siphone 6s iphone6splusiphonex

截图效果

画面根据画面的大小动态变化,是大画面的等比放大、小画面的等比缩小

实现构想

如何用一组代码在不同的屏幕上动态缩放,使效果在不同的屏幕上一致呢?

首先,我想到了我们现在合适的iphone屏幕比例为16:9的屏幕。 当时想的时候还没有iPhoneX出来,所以没有想iPhoneX。 如果从UI设计师那里得到750*1334的设计稿(只有iPhone6手机屏幕尺寸的设计稿),你可以先写适合iPhone6的设计稿。iPhone6页面结束后,其他手机的配合其他手机屏幕是16:9的屏幕。 也就是说,iPhone6要适合iPhone 6 plus,只需要所有空间的大小。 如果将所有位置放大到相同的倍数,将适合plus。 同样,要适合iPhone5,只需将所有控件缩小到相同的倍数即可。

以下是一个示例:

如果iPhone 6手机上写着宽100分高的头像,那么iPhone6 plus上的高度应该是110.4。 如果iPhone 6手机的上下距离是10,那么iPhone6 plus就是11

长宽比: 375 :414=100 : X X=110.4

容限比: 375 :414=10 :Y Y=11

如果知道上面的话就很简单了

我每次设定帧的时候,把不同的画面设定为不同的值就可以了。 每次设定值时,都可以通过我们的方法动态地将该值放大或缩小为相同比率的数值。 示例代码如下所示。

重要的示例代码

funccgfloatautofit (浮动: cgfloat )-CGFloat {

let min=ui screen.main.bounds.heightuiscreen.main.bounds.width? ui screen.main.bounds.height : ui screen.main.bounds.width

返回最小/375 *浮动

}

上面的代码是精华。 没什么难的。 也可以自己写。 也就是说,把浮点的数值传过来,首先判断手机屏幕的纵横比最短的值,因为也有屏幕的情况,所以拿到纵横比最短的值,直接计算出375比和实际缩放的值。 我们的UI设计师给我的是iPhone6的设计稿,所以我在比较375 (竖屏幕上手机的宽度)。

手机宽度: 375=缩放后的尺寸:设计原稿尺寸

布局实现方案的调整

往上看,自己想的下面不用看

要使用这一观点,在设置控件的位置和大小时,必须经过我们自动缩放的方法。

这里直接使用frame布局。 (直接设定纵横高度,虽然很土,但是很容易使用。 )

控件的布局方法

self.line.x=10

self.line.y=10

self.line.height=50

self.line.width=50

自. scroll view.add subview (self.line )

现在的方法

self.line.x=cgfloatautofit(10 ) )。

self.line.y=cgfloatautofit(10 ) )。

(self.line.height=cgfloatautofit (50 ) ) ) ) ) ) ) )。

self.line.width=cgfloatautofit (50 ) )。

自. scroll view.add subview (self.line )

很简单。 设定值得我们度过我们的方法

文字的设定方法

1

self.doctordesclabel.font=ui font.system font (of size : cgfloatautofit (15 ) )

文字的大小也要动态改变

设置图像大小

不能再使用sizetofit方法。 直接根据比率写。 如果设计的原稿为100px,则直接传递cgfloatautofit(50 )

左右边距设置

如果我说我想把左右边距的距离定为10

Label.x=cgfloatautofit(10 ) )。

label.width=self.width-cgfloatautofit (20 ) )。

页面方案

//

//vxxotheruserinfoviewcontroller.swift

//shikee

//

//Created by星酱on 2017/11/21。

//版权? 2017年shikee. All rights reserved。

//

import UIKit

导入框架

导入ST泵

导入swifty JSON

导入iqkeyboardmanagerswift

classvxxotheruserinfoviewcontroller : vxxbaseviewcontroller,UIScrollViewDelegate,PopPasswordDelegate{

var scrollView=UIScrollView (

var titleLbl=UILabel (

var shareBtn=UIButton (

var moreBtn=UIButton (

var navigationView:UIView?

var backBtn=UIButton (

letheadertopimgview=ui imageview (

letheaderbottomimgview=ui imageview (

let headerImgView=UIImageView (

let nameLabel=UILabel (

let scoreBtn=UIButton (

let descLabel=UILabel (

let hospitalLabel=UILabel (

let line=UIView ()

nb

本文职位坐标整理发表,希望对同学们有帮助。 更多信息,请关注职位坐标移动开发的IOS频道!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。