`
zfanxu
  • 浏览: 127128 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

怎么判断某一个viewController当前是否显示

    博客分类:
  • IOS
 
阅读更多

可以试试这样:

- (UIViewController*)topViewController {
    return [self topViewControllerWithRootViewController:[UIApplication sharedApplication].keyWindow.rootViewController];
}
 
- (UIViewController*)topViewControllerWithRootViewController:(UIViewController*)rootViewController {
    if ([rootViewController isKindOfClass:[UITabBarController class]]) {
        UITabBarController* tabBarController = (UITabBarController*)rootViewController;
        return [self topViewControllerWithRootViewController:tabBarController.selectedViewController];
    } else if ([rootViewController isKindOfClass:[UINavigationController class]]) {
        UINavigationController* navigationController = (UINavigationController*)rootViewController;
        return [self topViewControllerWithRootViewController:navigationController.visibleViewController];
    } else if (rootViewController.presentedViewController) {
        UIViewController* presentedViewController = rootViewController.presentedViewController;
        return [self topViewControllerWithRootViewController:presentedViewController];
    } else {
        return rootViewController;
    }
}

 

分享到:
评论

相关推荐

    一个简单的名片夹的制作

    这个页面会在用户选择TableView中的某条数据后跳转过来,显示被选中的名片信息,提供一个删除按钮,以及一个导航栏右侧的按钮,用于跳转到编辑名片的页面。 Edit类用于编辑已有的名片。页面上同样会有UILabel显示...

    UITableView Demo实例

    在Swift中,这两个角色通常由同一个ViewController来承担,通过遵循UITableViewDataSource和UITableViewDelegate协议实现。 1. 数据源方法: - `tableView(_:numberOfRowsInSection:)`:返回指定section中的行数。...

    无限互联ios开发之双向滑动视图.pdf

    当用户滑动时,我们需要计算出当前显示的视图,并移除那些不再显示的视图。同时,要调整页面视图,确保它们的位置正确,尺寸适应新的内容,而内容Offset也要相应更新,以保持滚动的连续性。 最后,为了实际使用这个...

    swift_3 swift之UITableView和UINavigation视图控制器

    例如,`let navController = UINavigationController(rootViewController: viewController)` 创建一个包含初始视图控制器的导航控制器。 2. 添加视图控制器:`pushViewController(_:animated:)` 方法将新视图控制器...

    swift实现的一个定时器

    本教程将详细讲解如何使用Swift来实现一个定时器(Timer)功能,这对于iOS应用开发中的各种场景,如自动更新数据、执行周期性任务等,都至关重要。 首先,我们需要了解`Timer`类。`Timer`是Foundation框架的一部分...

    iOS tableView

    UITableView是一个视图控件,它的主要功能是显示一行行的数据,每行可以包含一个或多个单元格(cell)。这些单元格通常用于显示应用程序中的数据,如联系人列表、消息列表或者选项菜单等。在iOS开发中,UITableView...

    ios-XQDemo.zip

    《iOS开发:构建一个列表展示应用的探索》 在iOS开发中,我们经常需要创建能够展示数据列表的应用,这在日常开发中占据了重要的地位。本文将深入探讨如何使用iOS的UIKit框架,特别是UITableView控件,来创建一个名...

    同一个tableview实现多选单选删除

    你可以维护一个数组来存储所有选中行的indexPaths,通过遍历这个数组并在cell的`accessoryType`中显示选择标记。 2. **UITableViewCell的复用**: - 为了高效利用内存,UITableView采用Cell复用机制。你需要在`...

    UITableView写的设置界面

    "UITableView写的设置界面"这个项目,旨在为新手提供一个基础的设置界面实现示例,帮助他们快速理解和掌握UITableView的使用。 UITableView的基本构成包括数据源(DataSource)和代理(Delegate)。DataSource负责...

    ios开发记录

    //判断两个字符串是否相等,不能使用==,使用等号是判断两个对象是否是一个对象,也就是是否是一个内存地址。 //判断字符串的内容是否相同应该使用nsstring的isEqualToString:方法 //在低版本的时候,如果直接点击...

    iOS(Swift)——三级列表城市选择器(可以是N级列表)

    UIPickerView是iOS中的一个滚动选择视图,用户可以通过滚动选取列表中的某一值。在这个场景下,我们可以用它来展示省份、城市和区县等不同级别的列表。 要创建一个三级城市选择器,我们需要以下几个步骤: 1. **...

    iOS tableView点击更多 搜索栏

    为了将搜索结果展示在tableView中,开发者可能需要创建一个新的数据数组,仅包含与搜索关键词匹配的条目,并刷新tableView。 实现上述功能,你需要遵循以下步骤: 1. 在ViewController中设置UITableViewDataSource...

    UITableView的使用方法及cell复用机制

    例如,你可以创建一个自定义的UITableViewCell子类,然后在storyboard中配置这个子类,并给它分配一个唯一标识符。在代码中,使用这个标识符来获取cell实例: ```swift func tableView(_ tableView: UITableView, ...

    UIAlertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法

    UIAlertView是iOS平台上一个用于显示简单警告对话框的类,它在早期版本的iOS系统中广泛使用,主要用于向用户展示简短的信息或者询问用户是否同意某项操作。在iOS 8之后,UIAlertView被UIAlertController取代,但为了...

    (0018)-iOS/iPhone/iPAD/iPod源代码-选择器(Picker)-Loop Picker

    你需要创建一个足够大的数据集,比如一个包含足够多数字的数组,然后在`pickerView(_:titleForRow:forComponent:)`方法中根据当前选择的行号模除数组长度来获取对应索引的值,这样就能实现循环显示的效果。...

    OC MAC平台 IOS开发APP 自主学习

    UIView的sendSubviewToBack方法是用于将某一个UIView置于底层,常用于UIImage,效果如微信聊天背景。例如,想要将某个UIView置于底层,可以使用以下代码: ```objective-c [self.view sendSubviewToBack:(nonnull ...

    UITableView选中行

    当用户需要与列表中的某一项进行交互,比如选择某一行时,我们通常会在选中的行上显示一个标记,如勾选标记(checkmark)。这个过程就是"UITableView选中行"的功能实现。 在iOS的UITableView中,我们可以设置cell的...

    Swift-只支持竖屏

    可以注册观察者监听`UIDeviceOrientationDidChangeNotification`通知,当设备方向改变时,通过判断当前方向并采取相应措施,如忽视横屏事件。 5. **NavigationController和TabBarController**: - 如果你的应用...

    ios-模仿大神的代码写的日历.zip

    【标题】:“ios-模仿大神的代码写的日历.zip” 暗示这是一个iOS平台上的日历应用项目,开发者可能参考了某位知名开发者(大神)的代码实现。这个项目的核心是创建一个简洁易用的日历界面,提供基本的日历功能。 ...

    ios-日历选择日期.zip

    在iOS开发中,日历选择日期是一个常见的功能,它允许用户通过日历界面选取特定的日期,这在很多应用场景中非常实用,比如日程管理、事件提醒等。本压缩包"ios-日历选择日期.zip"包含了一个名为"MyCalendar"的示例...

Global site tag (gtag.js) - Google Analytics