IOS/Swift 学习 14-10-14
博客专区 > HaidyCao 的博客 > 博客详情
IOS/Swift 学习 14-10-14
HaidyCao 发表于3年前
IOS/Swift 学习 14-10-14
  • 发表于 3年前
  • 阅读 22
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 利用Swift UIViewContorller切换和protocol的使用

Swift 初学习


一、UIViewContorller的切换

首先是手动添加导航栏上面的Button,今天使用的是文字,具体添加的代码如下

// style 是Button的类型,.Plain 就显示文字 然后点击事件写到本身类中的nextPage函数中
let nextView = UIBarButtonItem(title: "下一页", style: .Plain, target: self, action: "nextPage")  

self.navigationItem.rightBarButtonItem = nextView //添加右侧的按钮

下面是nextPage函数的内容,就是切换到SecondContorller第二个页面的代码

func nextPage() {
        let nextView = SecondContorller()
        
        nextView.delegate = self // 确定代理就是自己本身,才会调用 代理中必须实现的函数
        
        // 推出下一个页面 animated 推出的动画
        self.navigationController?.pushViewController(nextView, animated: true)
}

上面的delegate接下来再说。然后就是从SecondContorller返回到第一个ViewContorller

self.navigationController?.popViewControllerAnimated(true) //返回上一层

现在就实现了两个页面的切换功能!



二、protocol协议,实现类似Java中Interface的功能


首先,要先写出这个protocol的名称类似Java中Interface,具体的函数功能不要实现

protocol TestDelegate { //定义一个协议
    func done(done : Bool) // 使用时要实现的方法
}

然后就需要在SecondContorller中声明此协议,然后再在使用的时候调用里面的方法,这个跟Java中的Interface一样,就不再多记了。


值得注意的是,IOS中UIViewContorller跟Android中Acitivity的差异,虽然Activity可以通信,但是是没有办法直接改变另一个Activity中的UI的,但是UIViewContorller就可以做到...完


共有 人打赏支持
粉丝 3
博文 29
码字总数 3333
×
HaidyCao
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: