swift UIView+Additions

用習(xí)慣了OC的工具類UIView+Additions,之前寫代碼的時(shí)候一般直接寫view.top或者view.height現(xiàn)在沒有了就得寫成view.frame.origin.y或者view.frame.size.height這..真的讓人很奔潰..

本來想找個swift版本的,但是沒有找到,所以決定自己寫一個.

首先要創(chuàng)建個UIView+Additions類...我以為創(chuàng)建Swift File像Objective-C File文件一樣也是可以選擇擴(kuò)展類的,會自動生成中間的+號,事實(shí)證明我想多了..這個+加應(yīng)該是只能自己打上去了..

就是選這個,點(diǎn)完之后不要懷疑人生,取個名字創(chuàng)建就可以了

創(chuàng)建完也不要懷疑人生,里面就是很干凈的...

下面就是代碼了,其實(shí)都是非常簡單的set get方法, 但是在開發(fā)的時(shí)候可以節(jié)省很多時(shí)間,而且代碼也不會看著那么的腫脹...

import Foundation

import UIKit

extension UIView {

public var left: CGFloat{

get{

return self.frame.origin.x

}

set{

var frame = self.frame

frame.origin.x = newValue

self.frame = frame

}

}

public var top: CGFloat{

get{

return self.frame.origin.y

}

set{

var frame = self.frame

frame.origin.y = newValue

self.frame = frame

}

}

public var right: CGFloat{

get{

return self.frame.origin.x + self.frame.size.width;

}

set{

var frame = self.frame

frame.origin.x = newValue - frame.size.width;

self.frame = frame

}

}

public var bottom: CGFloat{

get{

return self.frame.origin.y + self.frame.size.height;

}

set{

var frame = self.frame

frame.origin.y = newValue - frame.size.height;

self.frame = frame

}

}

public var centerX: CGFloat{

get{

return self.center.x;

}

set{

var center = self.center

center.x = newValue

self.center = center

}

}

public var centerY: CGFloat{

get{

return self.center.y;

}

set{

var center = self.center

center.y = newValue

self.center = center

}

}

public var width: CGFloat{

get{

return self.frame.size.width;

}

set{

var frame = self.frame

frame.size.width = newValue;

self.frame = frame

}

}

public var height: CGFloat{

get{

return self.frame.size.height;

}

set{

var frame = self.frame

frame.size.height = newValue;

self.frame = frame

}

}

public var origin: CGPoint{

get{

return self.frame.origin

}

set{

var frame = self.frame

frame.origin = newValue;

self.frame = frame

}

}

public var size: CGSize{

get{

return self.frame.size

}

set{

var frame = self.frame

frame.size = newValue;

self.frame = frame

}

}

func removeAllSubviews(){

while self.subviews.count > 0 {

let subView = self.subviews.first

subView?.removeFromSuperview()

}

}

}

最后,如果你的view是使用SnapKit設(shè)置的約束,那同一個view就盡量都用SnapKit,不然也是容易出錯的,因?yàn)槭褂肧napKit約束后并不能立刻反應(yīng)到frame上,這個問題在oc中使用過Masory應(yīng)該也都知道.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末躁染,一起剝皮案震驚了整個濱河市咕娄,隨后出現(xiàn)的幾起案子怔软,更是在濱河造成了極大的恐慌,老刑警劉巖刮刑,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件干旁,死亡現(xiàn)場離奇詭異魁袜,居然都是意外死亡桩撮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門峰弹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來店量,“玉大人,你說我怎么就攤上這事鞠呈∪谑Γ” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵蚁吝,是天一觀的道長旱爆。 經(jīng)常有香客問我,道長窘茁,這世上最難降的妖魔是什么怀伦? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮庙曙,結(jié)果婚禮上空镜,老公的妹妹穿的比我還像新娘。我一直安慰自己捌朴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布张抄。 她就那樣靜靜地躺著砂蔽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪署惯。 梳的紋絲不亂的頭發(fā)上左驾,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機(jī)與錄音极谊,去河邊找鬼诡右。 笑死,一個胖子當(dāng)著我的面吹牛轻猖,可吹牛的內(nèi)容都是我干的帆吻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼咙边,長吁一口氣:“原來是場噩夢啊……” “哼猜煮!你這毒婦竟也來了次员?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤王带,失蹤者是張志新(化名)和其女友劉穎淑蔚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體愕撰,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刹衫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搞挣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绪妹。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖柿究,靈堂內(nèi)的尸體忽然破棺而出邮旷,到底是詐尸還是另有隱情,我是刑警寧澤蝇摸,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布婶肩,位于F島的核電站,受9級特大地震影響貌夕,放射性物質(zhì)發(fā)生泄漏律歼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一啡专、第九天 我趴在偏房一處隱蔽的房頂上張望险毁。 院中可真熱鬧,春花似錦们童、人聲如沸畔况。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跷跪。三九已至,卻和暖如春齐板,著一層夾襖步出監(jiān)牢的瞬間吵瞻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工甘磨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留橡羞,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓济舆,卻偏偏與公主長得像卿泽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子吗冤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 3,829評論 0 6
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理又厉,服務(wù)發(fā)現(xiàn)九府,斷路器,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • 1.NSTimer //暫停if ([timer isValid]) {[timer setFireDate:[N...
    俊月閱讀 1,311評論 0 0
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,783評論 1 10
  • 一個能控制情緒的人覆致,才是最有教養(yǎng)的人侄旬。有一些人,情緒上來煌妈,很容易做出一些傷害他人的事儡羔,還覺得自己的情緒沒什么,這是...
    且試風(fēng)夕閱讀 176評論 0 3