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

正在获取呈现视图控制器的名称

呈现视图控制器的名称是指在iOS开发中,获取当前正在显示的视图控制器的名称。可以通过以下代码来获取:

代码语言:txt
复制
if let viewController = UIApplication.shared.keyWindow?.rootViewController {
    if let presentedViewController = viewController.presentedViewController {
        let presentedViewControllerName = String(describing: type(of: presentedViewController))
        print("当前呈现的视图控制器名称:\(presentedViewControllerName)")
    } else {
        let rootViewControllerName = String(describing: type(of: viewController))
        print("当前根视图控制器名称:\(rootViewControllerName)")
    }
}

这段代码首先获取应用程序的主窗口(keyWindow),然后获取根视图控制器(rootViewController)。如果存在正在呈现的视图控制器(presentedViewController),则获取其名称;否则,获取根视图控制器的名称。

这个功能在以下场景中可能会有用:

  • 在应用程序中进行调试和日志记录时,可以方便地获取当前正在显示的视图控制器的名称。
  • 在需要根据当前视图控制器执行不同操作的情况下,可以根据名称进行条件判断。

腾讯云提供了丰富的云计算产品和服务,其中与移动开发相关的产品包括腾讯移动推送、腾讯移动分析、腾讯移动广告等。您可以通过访问腾讯云官网了解更多相关产品和详细信息:腾讯云移动开发产品

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS小技巧·把子视图控制器视图添加到父视图控制器

把子视图控制器视图添加到父视图控制器并覆盖 添加子控制器 #pragma mark - 添加子控制器 - (void)addSubControllers{ [self addChildViewController...childViewController.view mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; } 把子视图控制器视图添加到父视图控制器指定容器视图...,适当时机跳转 添加子控制器 #pragma mark - 添加子控制器 - (void)addSubControllers { _childViewController = [[InfoViewController...removeFromSuperview)]; [self fitFrameForChildViewController:_childViewController]; //设置默认显示在容器View内容...[self.contentView addSubview:_childViewController.view]; } 子VC布局约束 #pragma mark - 子VC布局约束 - (void

95920
  • SpringMVC视图控制器(一)

    SpringMVC 视图控制器是一个可以将 URL 映射到视图控制器。它允许开发人员通过简单配置来处理不需要任何逻辑请求,并将它们直接映射到相应视图。...SimpleUrlHandlerMapping 用于将 URL 映射到控制器方法或视图控制器,而 InternalResourceViewResolver 用于将视图名称解析为实际视图。...配置 InternalResourceViewResolverInternalResourceViewResolver 是一个将视图名称解析为实际视图组件。...它可以将视图名称解析为 JSP、HTML 或其他类型视图,并将这些视图呈现给用户。...在配置 InternalResourceViewResolver 时,需要设置视图前缀和视图后缀,以便它可以将视图名称解析为实际视图

    44310

    控制器视图传值方式

    控制器视图传值方式 (1)Viewdata C:Viewdata["key"]="viewdata"//控制器中赋值 V:Viewdata["key"]//视图中取值 (2)Viewbag...C:Viewbag.key="viewbag"//控制器中赋值 V:viewbag.key//视图中取值 (3)TempData        TempData实际上保存在Session中,控制器每次执行请求时都会从...Session中获取TempData数据并删除该Session。...C:Tempdata["key"]="tempdata"//控制器中赋值 V:Tempdata["key"]//视图中取值 (4)Model :必须要有一个对象实体类 ViewData.Model=...: (1)viewdata 传值时不能跨方法,否则值会丢失,只能是在本方法到本视图 , ViewData只能在一个Action方法中进行设置,在相关视图页面读取,只对当前视图有效。

    1.3K20

    iOS翻页视图控制器UIPageViewController应用

    iOS翻页视图控制器UIPageViewController应用 一、引言     UIPageViewController是iOS中少见动画视图控制器之一,通过它既可以创建类似UIScrollView...UIPageViewController把从DataSource中获取视图数据渲染给View用于当前视图控制器展示。...二、创建一个UIPageViewController     首先新建一个类作为翻页视图控制器中具体每一页视图控制器,使其继承于UIViewController: ModelViewController.h... 这个数据源方法返回视图控制器为要显示视图视图控制器 - (nullable UIViewController *)pageViewController:(UIPageViewController ... 这个数据源方法返回视图控制器为要显示视图视图控制器 - (nullable UIViewController *)pageViewController:(UIPageViewController

    2.2K10

    【JetPack】ViewBinding 视图绑定组件 ( 启用模块 | 视图绑定定制 | 绑定类名称生成规则 | 绑定类字段生成规则 | 绑定类获取视图 | 绑定类获取布局组件 )

    定制视图绑定 ( 启用视图绑定后 不想生成绑定类 ) V . 视图绑定布局文件 VI . 绑定类名称生成规则 VII . 绑定类对应布局中组件字段生成规则 VIII . 视图绑定类获取 IX ....注解方式获取 Layout 布局中组件对象 ; 视图绑定 ( ViewBinding ) 是 Google 退出获取布局组件方式 , 顾名思义 , 其作用就是将 Layout 布局中 View...绑定类名称生成规则 ---- 视图绑定类名称生成规则 : 去掉布局文件名称下划线 , 并以驼峰式命名 , 在名称结尾添加 Binding 后缀 ; 以本 Activity 布局文件 activity_main.xml...设置视图绑定后布局 ---- 1 . 获取视图 : ActivityMainBinding 绑定类自带 getRoot() 方法 , 可以直接获取到 布局文件视图 ; 2 ....获取视图绑定类组件 ---- 可以直接通过 视图绑定类 ActivityMainBinding 对象 binding 获取对应组件 , 组件名称就是布局文件中定义组件 id ; //binding

    1.2K10

    根据 PID 获取容器所在 Pod 名称

    在管理 Kubernetes 集群过程中,我们经常会遇到这样一种情况:在某台节点上发现某个进程资源占用量很高,却又不知道是哪个容器里进程。有没有办法可以根据 PID 快速找到 Pod 名称呢?...d6f24b62 最后一步根据容器 ID 获取 Pod 名称,如果你容器运行时是 containerd 或 crio,可以使用 crictl 来获取容器信息: # Go Template $ crictl...如果你容器运行时是 Docker,可以使用命令行工具 docker 来获取,方法和上面类似。 2....print $6'} 8e018a8e-4aaa-4ac6-986a-1a5133a4bcf1 然后根据 Pod UID 获取 Pod 名称: $ crictl ps -o json | jq '.[...整合 方法是有了,怎么才能将所有的步骤合并成一个步骤,一步到位获取 Pod 名称呢?

    6.8K21

    java准确获取操作系统名称

    程序员都很懒,你懂! 在我们日常开发中,经常需要判断操作系统版本或者系统名字等等。这就需要我们用到jdk默认带一些属性了。...这里我对各个版本系统都做了区分,分别能判断mac,linux,window等大众操作系统名称。...直接看代码(OSUtil.java): package com.herman.util; /** * @see 获取操作系统名称 * @author Herman.Xiong * @date 2014...OSUtil.isWindowsVista()); System.out.println("当前系统为WindowsXP系统:"+OSUtil.isWindowsXP()); /* * 注意:如果使用1.6...jdk,那么对于win7和win8系统都显示“Windows Vista” * 如果要正确判断win7还是win8系统,则需要使用jdk1.7 * android系统需要稍微改动

    4.2K30

    iOS开发中活动视图控制器UIActivityViewController应用

    iOS开发中活动视图控制器UIActivityViewController应用     在iOS开发中,UIActivityViewController常用来弹出分享面板,其实除了用来社会化分享,UIActivityViewController...先看如下示例代码: //活动内容 NSString * content = @"活动内容"; //活动url NSURL * url = [NSURL URLWithString...,但是只有可以处理这些数据行为会被展示出来 applicationActivitie参数可以设置自定义操作行为,后面会介绍 */ - (instancetype)initWithActivityItems...copy) UIActivityViewControllerCompletionHandler completionHandler; 上面初始化方法中有提到activityItems这个参数,系统提供一些分享与活动行为可支持数据类型列表如下...- (void)prepareWithActivityItems:(NSArray *)activityItems; //子类实现 返回一个视图控制器作为处理活动模态视图 活动处理完成后需要调用activityDidFinish

    3.7K10

    视图控制器传值方法(表单)

    Views中: 将数据提交到某个控制器方法中,在该方法中去做处理 姓名: //sex是属性名称 controllers中:获取视图中(表单)传过来值 一...通过request获取传值: public string get() { strinig SName=Request["SName"]; //SName同样也是属性名称 string sex=Request...通过参数方式获取表单提交过来数据 public string get(string SName,string sex)//注意:参数名称尽量使用表单中name值(也就是属性值) { return...通过对象获取表单提交过来数据       (1)自动装配(点提交后自动封装成一个对象并将name中赋给相应属性) (2)注意通过这种方式复选框值取不到 通过request取值后赋给属性 (3)通过对象名

    1.9K50

    Android开发:获取手机当前连接WiFi名称

    前言 在Android开发过程中,有时候需要使用获取手机当前连接WiFi功能,这样就省去了手动输入WiFi名称步骤,这种需求一般都是涉及到手机App和硬件设备进行WiFi通讯时候会用到,那么本篇博文就来分享一下...Android手机App自动获取当前手机连接WiFi名称方法。...二、在activity中添加代码 1、获取WiFi名称 private String getConnectWifiSsid(){ WifiManager wifiManager = (WifiManager...WiFi名称是加有双引号,具体如下所示: 2.png 3.png 根据系统WiFi名称包含一个双引号,需要进行处理,具体处理步骤如下所示: 方法一: String wifiInfo1...三、具体使用场景 本案例需求是,获取到手机当前连接WiFi名称,然后直接给WiFi名称EditText控件赋值。

    4.3K61

    VBA: 获取电脑当前默认打印机名称

    借助Application.ActivePrinter属性,一方面可以查询当前默认打印机名称,另一方面,也可以指定默认打印机名称。...Printer_original As String Dim Path As String, path_saved As String, name_file As String '1 记录最开始默认打印机...:=path_saved, IgnorePrintAreas:=False Workbooks(name_file).Close False '3 恢复默认打印机...Application.ActivePrinter = Printer_original End Sub 该代码主要分为三步:(1)先记录当前默认打印机名称,一般电脑默认连接是实体打印机...;(2)借助Printout函数将指定Excel文件转换为PDF文件,此时默认打印机名称已经发生变化,转变成了Microsoft Print to PDF; (3)恢复默认打印机,也就是第(1)步保存打印机名称

    2.4K20

    如何获取Hive正在执行或已结束SQL语句

    本文主要介绍两种方式来获取Hive正在执行或者已结束MapReduce作业SQL语句,一种是通过MapReduce API获取执行作业xml配置文件,另一种是通过Cloudera Manager...---- 1.通过YARN执行作业xml配置文件 1.通过Hue执行SQL查询,Job Browser页面可以获取该SQL执行ApplicationID,如下: image.png 2.通过ApplicationID...获取正在执行作业配置信息,执行如下: curl -H "Accept: application/json" -X \ GET http://master:8088/proxy/application_...,可获取运行中Hive作业SQL语句,该信息对应HDFS /user/$USER/.staging/$JOBID/job.xml文件 3.如果作业执行完成将接口改为JobHistoryAPI...接口,可获取Hive历史作业执行SQL语句,该信息对应HDFS/user/history/done/2018/08/28/000000/job_1534299721148_0845_conf.xml文件

    9.9K00
    领券