美文网首页
Swift - Button,Label

Swift - Button,Label

作者: Python数据分析实战 | 来源:发表于2016-10-18 17:12 被阅读308次

    Swift-Button的常用

    func setButton()
     {
        // 创建一个类型为contactAdd的按钮
        let button:UIButton = UIButton(type:.contactAdd)
        
        // 设置按钮的位置和大小
        button.frame = CGRect(x:10, y:150, width:100, height:30)
        
        //设置按钮文字
        button.setTitle("普通按钮", for:.normal)
        //        button.setTitle("触摸状态", for: .highlighted)
        //        button.setTitle("禁用状态", for: .disabled)
        
        // 设置文字颜色
        button.setTitleColor(UIColor.red, for: UIControlState.normal)
        button.setTitleColor(UIColor.blue, for: .highlighted)
        
        // 设置按钮阴影颜色
        button.setTitleShadowColor(UIColor.green, for: UIControlState.normal)
        
        // 改变图片 但改后的图片是按钮的默认色:蓝色 丢失了图片的原色
        button.setImage(UIImage(named: "cocktail_dog"), for: UIControlState.normal)
        
        // 改变图片 保证图片不失真
        let buttonImage = UIImage(named:"cocktail_dog")?.withRenderingMode(.alwaysOriginal)
        button.setImage(buttonImage, for: UIControlState.normal)
        
        button.adjustsImageWhenHighlighted = false //使触摸模式下按钮也不会变暗(半透明)
        button.adjustsImageWhenDisabled = false //使禁用模式下按钮也不会变暗(半透明)
        
        // button的处理事件
        //        button .addTarget(self, action: #selector(buttonAction), for:.touchUpInside)
        button .addTarget(self, action: #selector(action2(button:)), for:.touchUpInside)
        self.view.addSubview(button)
    }
    
    func buttonAction() {
        print("按钮无数据")
    }
    
    func action2(button:UIButton)
    {
        print("按钮事件:%@", button.title(for: .normal))
        let str:String =  button.title(for: .normal)!
        
        if str == "按钮" {
            print("按钮相等")
        }
    }
    

    关于Button的一些类型

    /*
     按钮有下面四种类型:
     UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
     UIButtonType.DetailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
     UIButtonType.System:前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果
     UIButtonType.Custom:定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果
     UIButtonType.InfoDark:为感叹号“!”圆形按钮
     UIButtonType.InfoLight:为感叹号“!”圆形按钮
     
     常用的触摸事件类型:
     TouchDown:单点触摸按下事件,点触屏幕
     TouchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候
     TouchDragInside:触摸在控件内拖动时
     TouchDragOutside:触摸在控件外拖动时
     TouchDragEnter:触摸从控件之外拖动到内部时
     TouchDragExit:触摸从控件内部拖动到外部时
     TouchUpInside:在控件之内触摸并抬起事件
     TouchUpOutside:在控件之外触摸抬起事件
     TouchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断
     */
    

    Swift里Label的使用

    func setLabel() {
        let label = UILabel(frame:CGRect(x:50, y:300, width:200, height:30))
        label.text = "这是一个Label"
        self.view .addSubview(label)
        
        label.backgroundColor = UIColor.lightGray
        label.textColor = UIColor.red
        label.textAlignment = NSTextAlignment.center
        
    //        label.shadowColor = UIColor.green
    //        label.shadowOffset = CGSizeMake(5, 5)
       
        // 字体的设置
        label.font = UIFont.systemFont(ofSize: 15)
    //        label.font = UIFont(name:"Zapfino", size:12)
        
        // 文字过长时的省略方式
        /*
         case byWordWrapping // Wrap at word boundaries, default
         
         case byCharWrapping // Wrap at character boundaries
         
         case byClipping // Simply clip
         
         case byTruncatingHead // Truncate at head of line: "...wxyz"
         
         case byTruncatingTail // Truncate at tail of line: "abcd..."
         
         case byTruncatingMiddle // Truncate middle of line:  "ab...yz"
         */
        
      //        label.lineBreakMode=NSLineBreakMode.byWordWrapping                  // 截去多余部分也不显示省略号
     //        label.lineBreakMode=NSLineBreakMode.byCharWrapping        // 截去多余部分也不显示省略号
     //        label.lineBreakMode=NSLineBreakMode.byClipping        // 截去多余部分也不显示省略号
     //        label.lineBreakMode=NSLineBreakMode.byTruncatingHead  //隐藏头部并显示省略号
     //        label.lineBreakMode=NSLineBreakMode.byTruncatingTail  //隐藏尾部并显示省略号
    //         label.lineBreakMode=NSLineBreakMode.byTruncatingMiddle   //隐藏中间部分并显示省略号
        
        // 文字大小自适应标签宽度
    //        label.adjustsFontSizeToFitWidth=true //当文字超出标签宽度时,自动调整文字大小,使其不被截断
        
        // 自动换行,0表示没有行数限制 注意行高
    //        label.numberOfLines=2  //显示两行文字
        
        //设置文本高亮
    //        label.isHighlighted = true
        //设置文本高亮颜色
    //        label.highlightedTextColor = UIColor.green
        
        
        // 富文本的显示
        //富文本设置
        let attributeString = NSMutableAttributedString(string:"welcome to hangge.com")
        //从文本0开始6个字符字体HelveticaNeue-Bold,16号
        attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue-Bold", size: 18)!,
                                     range: NSMakeRange(0,6))
        //设置字体颜色
        attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blue,
                                     range: NSMakeRange(0, 3))
        //设置文字背景颜色
        attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.green,
                                     range: NSMakeRange(7,3))
        label.attributedText = attributeString
    }
    

    相关文章

      网友评论

          本文标题:Swift - Button,Label

          本文链接:https://www.haomeiwen.com/subject/aljtuttx.html