swift语言IOS8开发战记13 Review Controller

简介:    前几话我们在程序中增加了一个顶部的导航栏,今天我们想要在底部增加一些功能,增加一个share和一个review的按钮。

   前几话我们在程序中增加了一个顶部的导航栏,今天我们想要在底部增加一些功能,增加一个share和一个review的按钮。在DetailViewController中增加一个toolBar用来放置功能按钮,设置两个全局变量,表示功能栏的宽和高:

let  tooBarHeight:CGFloat = 44
let tooBarWidth:CGFloat = 320

然后在viewDidLoad方法中添加我们的toolBar:

 var toolBarY:CGFloat = self.view.frame.size.height - tooBarHeight
        var toolBar = UIToolbar(frame: CGRectMake(0,toolBarY,tooBarWidth,tooBarHeight))
        self.view.addSubview(toolBar)

上述代码可以保证toolBar的位置在底部。效果如图:



然后向工具栏中添加我们需要的按钮:

let shareButton = UIButton(frame: CGRectMake(60, 0, 80, 44))
        shareButton.setTitle("Share", forState: .Normal)
        shareButton.setTitleColor(UIColor.orangeColor(), forState: .Normal)
        shareButton.addTarget(self, action: "clickShare:", forControlEvents: .TouchUpInside)
        shareButton.tag = 101
        toolBar.addSubview(shareButton)
        
        let reviewButton = UIButton(frame: CGRectMake(210, 0, 80, 44))
        reviewButton.setTitle("Review", forState: .Normal)
        reviewButton.setTitleColor(UIColor.orangeColor(), forState: .Normal)
        reviewButton.addTarget(self, action: "clickReview:", forControlEvents: .TouchUpInside)
        reviewButton.tag = 102
        toolBar.addSubview(reviewButton)

我们给每个按钮打了一个标签,现在来简单实现一下试试有没有关联到,action方法定义如下:

  func clickShare(sender: UIButton){
    }
    
    func clickReview(sender: UIButton){
    print(sender.tag)
    }

点击按钮Review,控制台打印出了102,证明关联成功了,现在我们重新来写action方法。

func clickReview(sender: UIButton){
    let review = ReviewViewController()
        self.presentViewController(review, animated: true, completion: nil )//临时展示一个控制器
    }

我们定义了一个新的控制器ReviewViewController用来展示点击clickReview后跳出的页面,代码如下:

import UIKit

class ReviewViewController: UIViewController {
    var imageView: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()

  self.view.backgroundColor = UIColor.orangeColor()
        imageView = UIImageView(frame: self.view.bounds)
        imageView.image = UIImage(named: "128.png")
        self.view.addSubview(imageView)
        var blur = UIBlurEffect(style: .Dark)//模糊
        var blurView = UIVisualEffectView(effect: blur)//模糊
        blurView.frame = self.view.bounds//模糊
        imageView.addSubview(blurView)//模糊
    }

}

上面这段代码实现了一个模糊图片的效果,下面我把下面四段代码注释掉来展示下如果只显示图片的效果,点击Review按钮,效果如下:


开启模糊模式之后的效果如图:



在这个页面添加一个取消的按钮:

//closeButton
        var closeButton = UIButton(frame: CGRectMake(280, 30, 30, 30))
        closeButton.setBackgroundImage(UIImage(named: "Button-Close"), forState: .Normal)
        closeButton.layer.cornerRadius = 15
        closeButton.layer.masksToBounds = true
        closeButton.addTarget(self, action: "clickCloseBtn:", forControlEvents: .TouchUpInside)
        self.view.addSubview(closeButton)
点击后返回上一个页面:


在图片上增加一些字吧:

let label = UILabel(frame: CGRectMake(0, 100, 320, 200))
        label.text = "You've dinned here.\n What do you \n think?"
        label.textAlignment = NSTextAlignment.Center
        label.textColor = UIColor.whiteColor()
        label.numberOfLines = 0
        label.font = UIFont.systemFontOfSize(30)
        self.view.addSubview(label)

效果如图:


我们添加三个评价按钮,代码如下:

//three buttons
        let baddge:CGFloat = 40
        let buttonWidth:CGFloat = 60
        let buttonY:CGFloat = 300 //三个按钮相同的规格
        let firstBtn = UIButton(frame: CGRectMake(baddge, buttonY, buttonWidth, buttonWidth))
        firstBtn.setBackgroundImage(UIImage(named: "happy"), forState: .Normal)
        self.view.addSubview(firstBtn)
        
        let secondBtn = UIButton(frame: CGRectMake(135, buttonY, buttonWidth, buttonWidth))
        secondBtn.setBackgroundImage(UIImage(named: "glad"), forState: .Normal)
        self.view.addSubview(secondBtn)
        
        let thirdBtn = UIButton(frame: CGRectMake(225, buttonY, buttonWidth, buttonWidth))
        thirdBtn.setBackgroundImage(UIImage(named: "angry"), forState: .Normal)
        self.view.addSubview(thirdBtn)

效果如图:



目录
相关文章
|
机器学习/深度学习 TensorFlow Swift
Swift语言适合多个领域的开发
Swift语言适合多个领域的开发
397 9
|
安全 编译器 Swift
Swift开发
Swift开发
409 9
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
411 9
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
520 2
|
安全 Swift iOS开发
Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法
本文深入探讨了 Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法。Swift 以其简洁、高效和类型安全的特点,结合 UIKit 丰富的组件和功能,为开发者提供了强大的工具。文章从 Swift 的语法优势、类型安全、编程模型以及与 UIKit 的集成,到 UIKit 的主要组件和功能,再到构建界面的实践技巧和实际案例分析,全面介绍了如何利用这些技术创建高质量的用户界面。
418 2
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
333 1
|
安全 API Swift
探索iOS开发中的Swift语言之美
【10月更文挑战第23天】在数字时代的浪潮中,iOS开发如同一艘航船,而Swift语言则是推动这艘船前进的风帆。本文将带你领略Swift的独特魅力,从语法到设计哲学,再到实际应用案例,我们将一步步深入这个现代编程语言的世界。你将发现,Swift不仅仅是一种编程语言,它是苹果生态系统中的一个创新工具,它让iOS开发变得更加高效、安全和有趣。让我们一起启航,探索Swift的奥秘,感受编程的乐趣。
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
1336 2
|
Unix 调度 Swift
苹果iOS新手开发之Swift 中获取时间戳有哪些方式?
在Swift中获取时间戳有四种常见方式:1) 使用`Date`对象获取秒级或毫秒级时间戳;2) 通过`CFAbsoluteTimeGetCurrent`获取Core Foundation的秒数,需转换为Unix时间戳;3) 使用`DispatchTime.now()`获取纳秒级精度的调度时间点;4) `ProcessInfo`提供设备启动后的秒数,不表示绝对时间。不同方法适用于不同的精度和场景需求。
1029 3
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
285 5