加载中…
正文 字体大小:

Swift for UIButton addTarget .

(2014-06-03 17:41:06)
标签:

股票

分类: Siwft学习笔记
凌晨Swift语言刚发布,关于这个消息,之前没有走漏一点点风声,估计发布会现场广大程序员瞬间就蒙了.有人这样说,去年发布iOS7坑了一帮设计,今天发布的Swift编程语言又坑了一帮程序员.
早晨下载了swift-programming-language 这本书,下载地址是https://itunes.apple.com/cn/book/swift-programming-language/id881256329?l=en&mt=11.
上午一直在看Swift的语法,越看越精神,由于之前也看过JS,PHP这些脚本编程余元,瞬间觉得这门语言很牛X.非常适合从脚本语言编程的人员入门.OC恰巧是适合从C或者C++这些平台的大coder学习.
 下午下载好xcode6后,就在敲一些代码,新建工程的时间直接选择Swift语言,可以看看的截图.文件后缀.swift.没有头文件和实现文件.

                                   Swift <wbr>for <wbr>UIButton <wbr>addTarget <wbr>.

还有一个比较好的可以随时预览编写的代码,包括console和view的显示,截图如下.
Swift <wbr>for <wbr>UIButton <wbr>addTarget <wbr>.


ok,介绍完这些后然后来说用Swift 语言来编写UIButton,之前打算把iOS的一些UI控件用Swift语言都写一遍,在写的UIButton AddTarget的时候卡住了,我比较爱参考Xcode直接提供的一些函数,属性文档,见图片Swift <wbr>for <wbr>UIButton <wbr>addTarget <wbr>.


在参考下Documentation的文档
Swift <wbr>for <wbr>UIButton <wbr>addTarget <wbr>.


第二个参数明显缺少一个action的声明.当然, Documentation里面的参数是正确的.然后我遇到的问题也解决了.
PS:毕竟是apple出的第一个版本,有一些bug会很正常,大家多参考下其他的文档.

附源码:
//

//  ViewController.swift

//  SwiftDemo

//

//  Created by Sidney on 14-6-3.

//  Copyright (c) 2014 iSoftstone infomation Technology (Group) Co.,Ltd. All rights reserved.

//


import UIKit



class ViewController: UIViewController {

    

    

    

    let myString = "Hello Swift";

    let height:Float = 30;

    

    var myLabel: UILabel = UILabel();

    var myView: UIView = UIView();

    var myButton: UIButton = UIButton();

    

    

    override func viewDidLoad() {

        super.viewDidLoad()

        

        // Do any additional setup after loading the view, typically from a nib.

        

        self.view.backgroundColor = UIColor.redColor();

        

        self.myLabel = createLabel();

        self.view.addSubview(self.myLabel);

        

        self.myView = createView();

        self.view.addSubview(self.myView);

        

        self.myButton = createButton();

        self.view.addSubview(self.myButton);

        

        for index in 1...5{

            println("\(index) times 5 is \(index * 5)")

        }

        

    }

    

    

    func createButton() -> UIButton{

        var orginY = CGRectGetMaxY(self.myView.frame) + 10;

        var button:UIButton = UIButton(frame:CGRectMake(0,orginY,320,height));

        button.backgroundColor = UIColor.greenColor();

        button.setTitle("Button",forState:.Normal);

        button.targetForAction("tappedButton:", withSender: self)

        button.titleLabel.font = UIFont.systemFontOfSize(12)


//        TouchUpInside: UIControlEvents

//        func addTarget(target: AnyObject!, action: Selector, forControlEvents controlEvents: UIControlEvents)

        button.addTarget(self,action:"tappedButton:",forControlEvents:.TouchUpInside);

        return button;

    }

    

    func tappedButton(sender: UIButton!) {

        println("\"tapped button\"")

    }

    

    func createLabel() -> UILabel{

        var label:UILabel = UILabel(frame:CGRectMake(0,20,320,height));

        label.backgroundColor = UIColor.greenColor();

        label.textAlignment = .Center;

        label.text = myString;

        return label;

    }

    

    func createView() -> UIView{

        var orginY = CGRectGetMaxY(self.myLabel.frame) + 10;

        var myView:UIView = UIView(frame:CGRectMake(0,orginY,320,height));

        myView.backgroundColor = UIColor.whiteColor();

        return myView;

    }

    

    

    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

        self.view.backgroundColor = UIColor.blackColor();

    }

    

    override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {

        self.view.backgroundColor = UIColor.redColor();

    }

    

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    

    

    

    

}




0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有