iOS UIView及其子控件的常用设置

为控件添加边框

 view.layer.borderWidth = 1;
 view.layer.borderColor = [[UIColor blackColor] CGColor];

设置button为不能点击且变灰

btn.isEnabled = false
btn.alpha = 0.4



UITextView设置“placeholder”

1.创建

let detailAddTextView = UITextView()
                detailAddTextView.frame = CGRectMake(10, 10, self.myTableView!.frame.size.width - 20, 70)
                detailAddTextView.delegate = self
                detailAddTextView.font = Font(14.0)
                cell?.contentView.addSubview(detailAddTextView)
                //保存的地址
                detailAddTextView.text = self.details
                self.details = detailAddTextView.text
                //覆盖label
                coverLabel = UILabel()
                coverLabel!.frame = CGRectMake(detailAddTextView.frame.origin.x + 5, detailAddTextView.frame.origin.y + 8, detailAddTextView.frame.size.width, 20)
                coverLabel?.enabled = false
                if(detailAddTextView.text.length == 0)
                {
                    coverLabel?.text = "请填写详细地址,不少于5个字"
                }
                else
                {
                    coverLabel?.text = ""
                }
                
                coverLabel?.textColor = UIColor.lightGrayColor()
                coverLabel?.font = detailAddTextView.font
                cell?.contentView.addSubview(coverLabel!)

2.textView代理方法里

func textViewDidChange(textView: UITextView)
    {
        if(textView.text?.length == 0)
        {
            coverLabel?.text = "请填写详细地址,不少于5个字"
        }
        else
        {
            coverLabel?.text = ""
        }
        self.details = textView.text
    }


UILabel文字大小随宽度调整

label.adjustsFontSizeToFitWidth=true  
//此处的0.6是缩小到0.6倍就不缩小了,如果还是超过那么就省略显示多余部分  
label3.minimumScaleFactor=0.6 


改变sb或xib中做过约束的控件的frame

把约束像控件一样与代码关联

然后代码设置 

self.cmyNameWidth.constant = 100

为UITextField添加字数限制并提示

//添加监听
textField.addTarget(self, action: #selector(InfomationView.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged)


func textFieldDidChange(textField:UITextField)
    {
        let lang = textInputMode?.primaryLanguage
        if (lang == "zh-Hans") {//简体汉字拼音
            let range = textField.markedTextRange
            if range == nil {
                if (NSString(string:textField.text!).length > 30) {
                    textField.text = NSString(string: textField.text!).substring(to: 30)
                    self.showAlert(messageStr: "姓名请在30字以内")
                }
            }
        }
    }

    //弹出提示框
    func showAlert(messageStr:String)
    {
        let myAlert = UIAlertView(title: "提示",message: messageStr,delegate: self,cancelButtonTitle: "好的")
        myAlert.show()
    }



为 UITextField 设置左边距

//设置textField边距
    func setTextFieldLeftPadding(textField:UITextField,forWidth width:CGFloat){
        var frame:CGRect = textField.frame
        frame.size.width = width
        let leftView:UIView = UIView(frame:frame)
        textField.leftViewMode = .Always
        textField.leftView = leftView
    }

修改 TextField placeHolder 字体样式

func newPlaceholder(text:String,font:UIFont,color:UIColor) -> NSAttributedString{
    let str = NSAttributedString(string: text, attributes: [NSFontAttributeName:font,NSForegroundColorAttributeName:color])
    return str
}

textField.attributedPlaceholder = newPlaceholder(defaultPlaceolder, font: Font(14.0), color: UIColor.lightGrayColor())
也可以在xib中进行设置  参考: http://blog.csdn.net/wang631106979/article/details/51278531

UIImageView 添加模糊效果

//添加毛玻璃效果
        let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
        let blurView = UIVisualEffectView(effect: blurEffect)
        blurView.frame = self.BgImgView!.frame
        self.BgImgView!.addSubview(blurView)


用自定义图片替换 pageControl 的点

pageControl.setValue(UIImage(named:"pageImage"), forKey: "pageImage")
        pageControl.setValue(UIImage(named:"currentPageImage"), forKey: "currentPageImage")

pageControl 在大屏设备上圆点不居中

要以当前区域的宽度

pageControl.frame  = CGRect(x:0,y:84,width:SCREEN_WIDTH,height:26)
        self.contentView.addSubview(pageControl)


获取单行Label的宽度和高度

使用 intrinsicContentSize 属性,可用于不同长度label,左右对齐的情况。详细可参考 http://blog.csdn.net/gauss_li/article/details/51013284

let width = lab.intrinsicContentSize.width
let height = lab.intrinsicContentSize.height



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值