swift找window,导航栏的简单使用,Controller通过闭包传值简单示例

这里是我需要的两个Controller,从FirstVC跳转到TwoVC,TwoVC返回的时候给FirstVC传递参数

  • 找window
let vc = UINavigationController.init(rootViewController:  FirstVC())
 let rootVC = UIApplication.shared.delegate as! AppDelegate
 rootVC.window?.rootViewController = vc
  • FirstVC的跳转代码
class FirstVC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.title = "first"
        self.view.backgroundColor = UIColor.red
    }
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        let twoVC = TwoVC();
        twoVC.two = "这是给第二个页面传递的参数"
        twoVC.block = {(message:String)->(Void) in
            print("FirstVC---------------\(message)")
        }

        self.navigationController?.pushViewController(twoVC, animated:true)
    }

}
  • TwoVC的返回代码
typealias Block = (_ message:String)->(Void)

class TwoVC: UIViewController {

    var two :String?
    var block :Block?
    override func viewDidLoad() {
        super.viewDidLoad()

        self.title = "two"
        self.view.backgroundColor = UIColor.blue
        print("TwoVC-------\(self.two)")
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        if((self.block) != nil){
            self.block!("这里是给第一个页面传递的参数")
        }
        self.navigationController?.popViewController(animated: true)
    }

}

原文地址:https://www.cnblogs.com/hualuoshuijia/p/11655712.html

时间: 2024-10-08 15:46:12

swift找window,导航栏的简单使用,Controller通过闭包传值简单示例的相关文章

swift 需求: 导航栏和HeaderView 使用一个背景图片。

问题界面 需求: 导航栏和HeaderView 使用一个背景图片.解决方案: 让 导航栏 变成透明. override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) // 1.设置导航栏半透明 self.navigationController?.navigationBar.isTranslucent = true // 2.设置导航栏背景图片 self.navigationController?.n

iOS 导航栏黑线,UIImage 枚举处理方式

ios 找出导航栏下面的黑线(可隐藏,改变样式等) http://www.jianshu.com/p/effa4a48f1e3 设置UIImage的渲染模式:UIImage.renderingMode http://blog.csdn.net/djxiaoyu_haha/article/details/40949083 着色(Tint Color)是iOS7界面中的一个.设置UIImage的渲染模式:UIImage.renderingMode重大改变,你可以设置一个UIImage在渲染时是否使用

【翻译】移动端友好的响应式导航栏教程

以下是译文: 今天我来教大家设计一个色彩绚丽且移动端友好的响应式导航栏.这个导航栏的灵感源自一款叫做"无主之地(Borderlands)"游戏中的一个叫做Maliwan武器生产商商标所采用的颜色集.导航栏会自动根据浏览器窗口的大小调整布局格式:在PC宽度下呈现为一行按钮,在平板宽度下呈现为三行按钮,而在移动端则变成了一个菜单栏按钮连接,点击可以显示和隐藏整个导航栏.为了使这个导航栏做到真正地移动端友好,我们将采用图标字体来作为导航栏图表,这样的话,当界面放大缩小的时候,图标也会自动调整

根据浏览器的滑动条 固定导航栏

固定导航栏 前言:很多网站都有这种网页的效果:滑动浏览器右侧的滚动条,导航栏会一直处于最上方 下面我就来简单实现以下这个功能 一.首先我们来写一下html的结构: 1 <div class="top" id="top"></div> 2 <div class="nav" id="nav"></div> 3 <div class="main" id=&qu

Android实习札记(5)---Fragment之底部导航栏的实现

Android实习札记(5)---Fragment之底部导航栏的实现 --转载请注明出处:coder-pig 在Part 4我们回顾了一下Fragment的基本概念,在本节中我们就来学习Fragment应用的简单例子吧! 就是使用Fragment来实现简单的底部导航栏,先贴下效果图: 看上去很简单,实现起来也是很简单的哈!那么接着下来就看下实现的流程图吧: 实现流程图: 看完流程图是不是有大概的思路了,那么接着就开始代码的编写吧: 代码实现: ①先写布局,布局的话很简单,一个FrameLayou

jquery实现简单的导航栏切换效果($(this).index)

一个简单的导航栏切换效果的制作,主要通过索引值和jquery的siblings()来实现 html代码: <div class="container"> <ul class="top-nav"> <li class="nav">html</li> <li class="nav">css</li> <li class="nav"&g

Android--&gt;状态栏高度,导航栏高度,Window高度,DecorView高度,heightPixels

喔-这标题,吓我一跳; 请稍等-. 思绪整理中- Android中, 经常被这些高度绊脚. 完全进入懵逼的状态, 有木有? 请允许我,介绍清楚! 通常情况下, 宽度都是很友好的,但是高度就呵呵, 所以本文只介绍高度的计算. 1:DecorView的高度 DecorView的高度代表的是: 整个装饰窗口的高度, 这个高度包括:状态烂的高度和导航栏的高度.(状态栏和导航栏通常叫做装饰窗口, 而ActionBar不属于装饰窗口) 这个高度, 可以代表着整个玻璃屏幕的高度. 2.Window的RootV

iOS导航栏编辑电影简单介绍

关于屏幕适配的问题,做了简单的处理,即使用屏幕比例来布局,欢迎指正!(纯手写代码) 首先先来展示一下效果,运行时第一个界面: 进行修改: 点击确认: 下面是具体的代码: 注:要先把movie类及图片素材添加好. AppDelegate.m文件 1 #import "AppDelegate.h" 2 #import "FirstViewController.h" 3 @interface AppDelegate () 4 5 @end 6 7 @implementat

Android 自定义组合控件 简单导航栏

最近在做项目的过程中,发现项目中好多界面的导航栏都很类似或者一样,但是每次都要重复写同样的代码,觉得很不爽,所以就简单地自定义了一下导航栏控件. 先上图: 导航栏包括: 返回按钮 标题 右侧按钮(功能不确定) 首先是布局文件,如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res