为控件添加边框
view.layer.borderWidth = 1;
view.layer.borderColor = [[UIColor blackColor] CGColor];
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