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

使用AVMakeRect实现UIScreen中心的Swift -Get子视图控制器

AVMakeRect是一个AVFoundation框架中的函数,用于创建一个CGRect对象。它的作用是根据给定的参数计算并返回一个居中的CGRect对象。

在使用AVMakeRect实现UIScreen中心的Swift -Get子视图控制器的过程中,可以按照以下步骤进行:

  1. 首先,导入AVFoundation框架:
代码语言:txt
复制
import AVFoundation
  1. 获取屏幕的尺寸:
代码语言:txt
复制
let screenSize = UIScreen.main.bounds.size
  1. 计算子视图控制器的尺寸:
代码语言:txt
复制
let childViewControllerSize = CGSize(width: 200, height: 200) // 自定义子视图控制器的尺寸
  1. 使用AVMakeRect函数计算居中的CGRect对象:
代码语言:txt
复制
let childViewControllerRect = AVMakeRect(aspectRatio: childViewControllerSize, insideRect: CGRect(origin: .zero, size: screenSize))
  1. 最后,可以将childViewControllerRect应用于子视图控制器的frame属性,以实现居中效果:
代码语言:txt
复制
childViewController.view.frame = childViewControllerRect

AVMakeRect函数的参数说明:

  • aspectRatio:子视图控制器的宽高比例。
  • insideRect:父视图控制器的CGRect对象,用于计算居中位置。

AVMakeRect的优势是可以方便地计算出居中的CGRect对象,适用于需要将子视图控制器居中显示的场景。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动推送、移动分析、移动测试等):https://cloud.tencent.com/product/mobile
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云虚拟专用网络(VPC):https://cloud.tencent.com/product/vpc
  • 腾讯云安全产品(DDoS防护、Web应用防火墙等):https://cloud.tencent.com/product/safety
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift| 基础语法(五)

前言 总结下 swift基础语法,里面涉及到:常量&变量、Swift数据类型、逻辑分支、循环、字符串相关、数组和字典、方法书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...对象、并使用ViewController界面布局文件来 // 初始化该视图控制器关联用户界面 let vc = ViewController() //通过控件加载视图...viewController视图控制器关联用户界面 self.window?....} 在Swift中,创建tableViewCell方法可以分为两种创建tableView时候注册和需要使用时手动创建。先聊聊创建tableView时候直接注册cell: myTb?....5个时(不包含5)会自动生成一个more视图标签,用来控制第5、6、...以后视图控制器

2K30

Swift开发:自定义标签栏UITabBarController (Swift项目开始第一步)

在总结了一些基本用法之后,我尝试使用Swift自定义UITabBarController和UITabbar,开启这Siwft项目的关键一步,首先展示一下效果图: ?...屏幕快照 2017-07-15 下午2.40.54.png 第一步:创建Swift工程# 1.使用Xcode创建一个Swift初始项目ZSTestSwift,效果如下: ?...中Main,因为我们要使用纯代码方式来创建标签栏控制器,系统自带Main.StoryBoardxib形式界面我们并不需要。...第三步:创建视图控制器 自定义导航控制器视图控制器父类,并且创建三个继承于BaseViewController视图控制器(因为没有过多复杂操作,这里省略代码),为之后创建标签控制器做准备。...rootViewController = MainTabBarController(); return true } 总结:以上就是在OC代码基础上,使用Swift来自定义标签控制器方法和步骤

3.9K70

iOS13 Scene Delegate

在上面的代码中,我们可以手动地设置了视图控制器堆栈,稍后会进行详细介绍。...,用于管理场景代理对象以及包含要显示初始视图控制器StoryBoard。...下面是纯代码实现界面显示代码: Swift适配代码步骤: 1)第一步,SceneDelegate中添加@available(iOS 13, *) //SceneDelegate.swift @available...接着为SwiftUI项目创建了ContentView实例,并通过使用UIHostingController将其添加为根视图控制器。 该控制器用于将基于SwiftUI视图显示在屏幕上。...scene(_: willConnectTo: options: )函数内,创建一个SwiftUI视图,将其放置在托管控制器中,然后将控制器分配给window属性视图控制器,并将该窗口放置在应用程序

5.2K20

Swift-MVVM 简单演练(一)

) 设置控制器 在HQMainViewController中设置四个控制器 用extension将代码拆分 通过反射机制,获取控制器类名,创建控制器 设置每个子控制tabBar图片及标题 HQMainViewController...,离开了这个类或者结构体作用域外面就无法访问了 */ /// 使用字典创建一个控制器 /// /// - Parameter dict: 信息字典[className...到目前为止,虽然我们只是在基类控制器里面创建了访客视图setupVistorView,只有一个访客视图HQVistorView,但是实际上当我们点击不同控制器时候,每个子控制器都会创建一个访客视图...点击四个控制器时候,访客视图打印地址都不一样。...总结 使用代理传递消息是为了在控制器视图之间解耦,让视图能够被多个控制器复用,如TableView 但是,如果视图仅仅是为了封装代码,而从控制器中剥离出来,并且能够确认该视图不会被其它控制器引用,

10.2K51

SwiftUI案例:天气

SwiftUI案例:天气 效果 目标 实现静态仿iOS天气APP程序 文件与配置 外观配置 外观配置需要从 '代码' 中下载文件并提取对应图片 需要配置在 Assets.xcassets...RainFall.sks RainFallLanding.sks 创建View视图 在工作区项目文件夹下创建名为 View Group 并在其中依次创建 Home.swift CustomStackView.swift...CustomCorner.swift WeatherDataView.swift 视图文件 创建Model模板 在工作区项目文件夹下创建名为 Model Group 并在其中创建 Forecast.swift...视图与模板实现 ContentView.swift 这是应用视图总体框架布局,需要自适应屏幕尺寸 import SwiftUI struct ContentView: View { var...var offset: CGFloat = 0 //offset偏量 var topEdge: CGFloat //topEdge顶部边缘距离 //避免过早显示"启动动画"将推迟该动画实现

4.7K21

【IOS开发进阶系列】APP性能优化专题

非延迟加载方式 延迟加载方式 2.2    故事板和nib文件延迟加载 2.2.1  故事板延迟加载         Segue定义两个视图控制器导航关系...,也来维护和管理下一个视图控制器延迟加载时机,这种情况下我们无法“插手”视图控制器延迟加载。...但是一种情况下除外,就是使用了故事板,而控制器之间没有定义导航关系,没有定义Segue。...2.2.2  nib文件延迟加载         相当于故事板而言nib要灵活很多,nib文件有两种:一种是描述视图控制器,另一种是描述视图,加载方式有所区别。...4.1.2  表视图节头脚视图         使用视图dequeueReusableHeaderFooterViewWithIdentifier:方法获得UITableViewHeaderFooterView

24220

玩转iOS转场动画 原

本篇博客主要深入讨论视图控制器、导航控制器来进行界面跳转时专场动画相关内容。...二、UIViewController进行模态跳转转场     首先,使用CoreAnimation框架中CATransition类也可以实现视图控制器转场动画,前面的博客有过讨论,这里不再重复。...presentViewController这个函数使用率可谓是非常高,默认转场动画为新视图控制器从下向上弹出,dismissViewControllerAnimated函数返回动画则是弹出动画逆序播放...定义 UITransitionContextFromViewControllerKey //原视图控制器 UITransitionContextToViewControllerKey //跳转视图控制器...我们在使用系统导航控制器时,右划返回效果对用户体验十分友好,我们下面就来试着将视图控制器模态跳转设计成类似导航可交互

1.3K50

iOS-控制器View创建和生命周期

viewDidLoad 作用:一般我们会在这里做界面上初始化操作,比如往view中添加一些视图等。 什么时候调用:每当view创建完毕时候,最终都会调用viewDidLoad方法。...通过storyboard创建控制器,或者通过xib创建控制器view,系统会帮我们加载控制器view,具体内部实现可以看iOS-UIWindow详解,在此不在赘述 ViewController...self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 创建控制器,并一定会创建控制器view...view (void)loadView { NSLog(@"%s",func); UIView *view = [[UIView alloc] initWithFrame:[UIScreen mainScreen...viewget方法底层中实现了loadView 和 viewDidLoad方法,loadView中将view设置为绿色,viewDidLoad方法中又将view设置成蓝色,但是最后被vc.view.backgroundColor

1.3K60

解析SwiftUI布局细节(一)

以前我们用UIKit写一个列表页时候我们步骤可能是下面这样: 1、创建视图控制器 2、大概解析一下UI,该创建头部创建头部视图,该写CollectionViewCell或者...在实现细节方面又会有哪些差距呢?带着这样一个小小思考我们进行下面的总结。...View,没有了控制器这个概念,这点需要我们转过这个弯,不然容易绕进去。...: HorizontalAlignment 我们可以看到它有一个默认居中对齐值,它控制就是容器里面的视图对齐方式,这个可以自己体验下。...接着我们肯定会疑惑,那就没有办法写是个以上视图了吗?答案当然是不是,肯定可以,具体可以通过Group或者ForEach来实现,我们就不在往下深究了,这个问题可以自己看看!

2.3K10

Mac开发跬步积累(二):NSViewController 转场动画精耕细作

图片来自网络 与iOS相比,在macOS中,控制器转场情景相对要简洁一些,没有iOS中导航控制器Push和Pop动画以及边缘返回手势, 保留下Present方式,倒是提供了特有的切换方式, 可以供我们使用出许多效果... transition: 使用一个容器视图Contain View, 通过addSubView 和...transition仅在控制器child ViewController之间进行切换....添加需要切换控制器: RedController 和BlueController 为自定义两个控制器,仅显示不同视图颜色....自定义present 动画时,需要注意事件穿透问题: 由于显示出来控制器视图(Controller View)是通过addSubView方式添加到容器视图中,因此在控制器视图(Controller

2.6K40

Swift:静态工厂方法

尤其是在使用视图控制器时,我们通常最终会得到一组视图控制器,它们只能在其中呈现特定状态,而不是在其中包含大量逻辑。对于那些视图控制器,将其设置移动到静态工厂API可能是一个很好解决方案。...在这里,我们使用这种方法来实现一个计算属性,该属性返回一个加载视图控制器,用于显示加载旋转框: extension UIViewController { static var loading:...特别是如果与"Swift:将视图控制器用作插件" 中便捷API稍加修改版本结合使用,我们现在可以在执行异步操作时轻松添加预先配置加载视图控制器: class ProductListViewController...handle(result) } } } 对添加便捷API唯一修改是使其返回添加视图控制器,从而可以在使用点语法同时获取对其引用。...文章来自 John SundellStatic factory methods in Swift简单翻译了一下,希望对大家有用 附: 文中静态工厂方法swift5.0才支持 我们也可以使用类方法实现类似功能

2.4K10

iOS多控制器之UINavigationController&UITableBarController1. 多控制器2. UINavigationController3. UITableBarCont

控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B、C、D 控制器A被称为控制器B、C、D“父控制器控制器B、C、D被称为控制器A控制器”...UINavigationController 2.1 UINavigationController使用步骤 初始化UINavigationController 初始化UINavigationController...第一次显示出来控制器; 2,addChildViewController:此方法是UIViewController方法,可以用来添加控制器; 3,通过属性viewControllers进行设置...常见问题 导航条高度:44 UINavigationController保存控制起形式:栈 获取UINavigationController下面的所有的控制器:viewControllers /...:c1]; tb.viewControllers=@[c1,c2,c3,c4]; 注意:展示顺序和添加顺序一致,和导航控制器中不同,展现在眼前是导航控制器视图控制器也就是第一个添加到导航控制器视图

1.2K40

SwiftUI案例:3D旋转图片播放器

SwiftUI案例:3D旋转图片播放器 效果 目标 实现多张图片3D切换查看功能 外观配置 任选 7 张任意尺寸图片按 p1 至 p7 进行命名并拖拽进 Assets.xcassets 文件中(如图所示...) 创建View视图 在工作区项目文件夹下创建名为 View Group 并在其中依次创建 Home.swift CarouseBodyView.swift ScrollViewOffsetModifier.swift...视图文件,其功能如下: Home.swift: 主视图,用来控制文字布局与图片布局; CarouseBodyView.swift: 控件视图,用来具体实现文字部分与图片部分; ScrollViewOffsetModifier.swift...: 滚动偏量视图,用来设置3D滚动效果; 视图实现视图 Home.swift 大致定义整个屏幕视图布局与容器接口。...CarouseBodyView.swift 通过视图容器嵌套布局,实现 Home.swift 中组件文本与图片具体内容。

2.3K30
领券