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

iOS开发·UIWindow与视图层级调整技巧(makeKeyWindow,resignKeyWindow,makeKeyAndVisible,keyWindow,windowLevel,UIWind

注意点:rootViewController属性 目前只有UIWindow有rootViewController这个属性,不要跟UINavigationController里面的根视图概念混淆。...要设置其根视图只能通过如下方法,而不能通过属性的setter方法和点语法设置根视图。...#pragma mark - 获取根视图的(导航、标签)视图控制器 + (UINavigationController *)getRootVCformViewController { UIViewController...销毁自定义UIWindow 自定义视图用完后,记得要销毁自定义的UIWindow,否则导致APP以后会有越来越多没用到的UIWindow,即使再也没有显示过它们,但是可以用调试工具看到许多废弃的window...误区:关于keyWindow的混淆易错点 设置keyWindow与否并不 影响视图层级显示,仅来接收键盘及其它非触摸事件。

8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    UINavigationController 2.1 UINavigationController的使用步骤 初始化UINavigationController 初始化UINavigationController...时, 可以通过initWithRootViewController:方法传入一个控制器作为根控制器 这个根控制器永远处于栈底(如果栈中只有一个对象,那么根控制器也处于栈顶) 设置UIWindow的rootViewController...application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //创建窗口,根据屏幕大小设置 _window = [[UIWindow...]; // 给窗口指定根视图控制器 _window.rootViewController = nav; // 让当前窗口成为主窗口并显示 [_window...Paste_Image.png 返回根控制器(栈底控制器) ?

    1.4K40

    UINavigationController

    UINavigationController 利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的“设置”应用 UINavigationController...的使用步骤 初始化UINavigationController 设置UIWindow的rootViewController为UINavigationController 根据具体情况,通过push方法添加对应个数的子控制器...回到指定的子控制器 - (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated; //回到根控制器...UIScrollView默认顶部都会添加额外的滚动区域(64) self.automaticallyAdjustsScrollViewInsets = NO; segue Storyboard上每一根用来界面跳转的线...YLViewController *VC = [[YLViewController alloc] init]; //2.把Modal的控制器的View添加到窗口上,把之前的窗口上的View移除 UIWindow

    1.4K60

    跟iOS UI的捉迷藏(如何获取用户点击行为的控件title)

    1.如何获取用户控件的点击行为 事实上,由于获取的“所见所得”点击view行为,所以,思路上应该是对uiview或者及其子类得某个事件方法hook到,这样触发点击(广义上是触摸)行为后,可以根据发送的事件确定点击的...具体流程比较复杂,如下图: 这里有篇文章讲的比较详细: https://www.jianshu.com/p/ae6466d3e89e 里面不仅讲了整个流程,还对不同控件的优先顺序进行了说明,这对比较复杂的自定义的...我们只需要通过hook UIControl的 sendAction:to:forEvent: 或 sendAction:to:from:forEvent: 自定义事件执行的target及action。...forEvent: 里面有三个参数,最后一个是event,可以通过allTouches方法,可以获得触摸点的集合,可以判断多点触摸事件 而touch.view或touch.window可以获取对应的uiview或者uiwindow...的leftBarButtonItem和rightBarButtonItems) 三阶获取的控件:UINavigationController的leftBarButtonItem、rightBarButtonItems

    1.4K10
    领券