swfit3.3 為類增加屬性(OC中的Rumtime)
融云中為RCUserInfo 添加成員屬性
extension RCUserInfo{
struct RuntimeKey {
static let mobileKey = UnsafeRawPointer.init(bitPattern: "Mobile".hashValue)
/// ...其他Key聲明
static let userLoginKey = UnsafeRawPointer.init(bitPattern: "userLoginKey".hashValue)
static let rankStrKey = UnsafeRawPointer.init(bitPattern: "rankStrKey".hashValue)
}
var mobile: String? {
set {
objc_setAssociatedObject(self, RCUserInfo.RuntimeKey.mobileKey, newValue, .OBJC_ASSOCIATION_COPY_NONATOMIC)
}
get {
return objc_getAssociatedObject(self, RCUserInfo.RuntimeKey.mobileKey) as? String
}
}
三等分約束
選中cyan按鈕,然后添加如下的約束,距左10、距下200、高度30:添加完cyan按鈕的約束后,開(kāi)始添加green按鈕的約束,添加的約束為(距左10、距右10.)
添加完green按鈕的約束后,開(kāi)始添加yellow按鈕的約束,添加的約 束為(距右10)
按住command鍵選中三個(gè)按鈕,然后添加對(duì)齊(選擇“vertical centers”)三種按鈕不變,繼續(xù)添加等寬(equal width)和等高(equal height)約束:
Scrollview設(shè)置滑動(dòng)到最頂部或者最底部
scrollView.contentOffset.y = 0
scrollView.contentOffset.y = scrollView.contentSize.height - scrollView.frame.height
富文本常用屬性
// NSFontAttributeName 設(shè)置字體屬性,默認(rèn)值:字體:Helvetica(Neue) 字號(hào):12
// NSForegroundColorAttributeNam 設(shè)置字體顏色,取值為 UIColor對(duì)象,默認(rèn)值為黑色
// NSBackgroundColorAttributeName 設(shè)置字體所在區(qū)域背景顏色,取值為 UIColor對(duì)象,默認(rèn)值為nil, 透明色
// NSLigatureAttributeName 設(shè)置連體屬性,取值為NSNumber 對(duì)象(整數(shù)),0 表示沒(méi)有連體字符,1 表示使用默認(rèn)的連體字符
// NSKernAttributeName 設(shè)定字符間距,取值為 NSNumber 對(duì)象(整數(shù)),正值間距加寬,負(fù)值間距變窄
// NSStrikethroughStyleAttributeName 設(shè)置刪除線,取值為 NSNumber 對(duì)象(整數(shù))
// NSStrikethroughColorAttributeName 設(shè)置刪除線顏色,取值為 UIColor 對(duì)象,默認(rèn)值為黑色
// NSUnderlineStyleAttributeName 設(shè)置下劃線,取值為 NSNumber 對(duì)象(整數(shù)),枚舉常量 NSUnderlineStyle中的值,與刪除線類似
// NSUnderlineColorAttributeName 設(shè)置下劃線顏色,取值為 UIColor 對(duì)象,默認(rèn)值為黑色
// NSStrokeWidthAttributeName 設(shè)置筆畫(huà)寬度,取值為 NSNumber 對(duì)象(整數(shù)),負(fù)值填充效果,正值中空效果
// NSStrokeColorAttributeName 填充部分顏色,不是字體顏色,取值為 UIColor 對(duì)象
// NSShadowAttributeName 設(shè)置陰影屬性,取值為
NSShadow 對(duì)象
//NSTextEffectAttributeName 設(shè)置文本特殊效果,取值為 NSString 對(duì)象,目前只有圖版印刷效果可用:
// NSBaselineOffsetAttributeName 設(shè)置基線偏移值,取值為 NSNumber (float),正值上偏,負(fù)值下偏
// NSObliquenessAttributeName 設(shè)置字形傾斜度,取值為 NSNumber (float),正值右傾,負(fù)值左傾
// NSExpansionAttributeName 設(shè)置文本橫向拉伸屬性,取值為 NSNumber (float),正值橫向拉伸文本,負(fù)值橫向壓縮文本
// NSWritingDirectionAttributeName 設(shè)置文字書(shū)寫(xiě)方向,從左向右書(shū)寫(xiě)或者從右向左書(shū)寫(xiě)
// NSVerticalGlyphFormAttributeName 設(shè)置文字排版方向,取值為 NSNumber 對(duì)象(整數(shù)),0 表示橫排文本,1 表示豎排文本
// NSLinkAttributeName 設(shè)置鏈接屬性,點(diǎn)擊后調(diào)用瀏覽器打開(kāi)指定URL地址
// NSAttachmentAttributeName 設(shè)置文本附件,取值為NSTextAttachment對(duì)象,常用于文字圖片混排
// NSParagraphStyleAttributeName 設(shè)置文本段落排版格式,取值為 NSParagraphStyle 對(duì)象
cell動(dòng)態(tài)高度設(shè)置
不用設(shè)置高度代理方法,用estimatedRowHeight屬性
設(shè)置label line為0
整個(gè)contentview必須有往下?lián)伍_(kāi)的約束
最上面的控件 設(shè)置top約束
最下面的 設(shè)置bottom和height great than 約束。
設(shè)置button圖片大小
func setBtnImageSize(size:CGSize,image:UIImage) -> UIImage{
UIGraphicsBeginImageContext(size)
image.draw(in: CGRect.init(x: 0, y: 0, width: size.width, height: size.height))
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}