首页
学习
活动
专区
工具
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

    根据 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

    【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

    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

    spring aop 利用JoinPoint获取参数值和方法名称

    大家好,我是架构君,一个会写代码吟诗架构师。今天说一说spring aop 利用JoinPoint获取参数值和方法名称[通俗易懂],希望能够帮助大家进步!!!...我们先来了解一下这两个接口主要方法: 1)JoinPoint  java.lang.Object[] getArgs():获取连接点方法运行时入参列表;  Signature getSignature...() :获取连接点方法签名对象;  java.lang.Object getTarget() :获取连接点所在目标对象;  java.lang.Object getThis() :获取代理对象本身...) throws java.lang.Throwable:通过反射执行目标对象连接点处方法,不过使用新入参替换原来入参。...一、概述 AOP实现方法在上两篇博客中已经用了两种方法来实现现在问题来了虽然我们利用AOP,那么客户端如何信息传递?

    6.5K10

    如何获取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
    领券