UIView及UILabel

UIView父子視圖

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //a.創(chuàng)建一個(gè)UIVIEW對(duì)象
        let redView = UIView.init(frame:CGRectMake(100, 100, 100, 100))
        //b.設(shè)置背景顏色
        redView.backgroundColor = UIColor.redColor()
        //c.添加到界面上
        //self.view是redview的父視圖,redview就是self.view的子視圖
        self.view.addSubview(redView)
        //d.設(shè)置tag值慎玖,默認(rèn)都是0.設(shè)置tag值得時(shí)候值必須要大于0
        //用來區(qū)分界面上不同的視圖
        redView.tag = 100
        //Mark:-父子視圖的特點(diǎn)和方法
        //1.一個(gè)視圖只有一個(gè)父視圖绘雁,可以有多個(gè)子視圖
        //連續(xù)將同一個(gè)視圖添加到兩個(gè)視圖上雪侥,最后一次添加有效
        //在創(chuàng)建一個(gè)黃色視圖
        let yellowView = UIView.init(frame:CGRectMake(0, 0, 50, 50))
        yellowView.backgroundColor = UIColor.yellowColor()
      
        redView.addSubview(yellowView)
        self.view.addSubview(yellowView)
        
        yellowView.tag = 101
        //2.獲取一個(gè)視圖的父視圖
        let superView = redView.superview
        print(superView)
        superView?.backgroundColor = UIColor.greenColor()
        //3.獲取一個(gè)視圖所有的子視圖
        let subViews = self.view.subviews
        print(subViews)
        //拿到所有的子視圖中的紅色視圖和黃色視圖
        //第一種
        for item in subViews {
            //判斷item是否是UIView類型壤玫。如果是返回true,如果不是返回fasle
            if item.isKindOfClass(UIView.self) {
                print(item)
            }
            
        }
        //第二種
        for item in subViews {
            if item.tag == 100{
                print("紅色視圖")
                item.backgroundColor = UIColor.orangeColor()
            }
            if item.tag == 101{
                print("黃色視圖")
            }
        }
        //4.通過tag值拿到指定的子視圖
        let subView2 = self.view.viewWithTag(101)
        subView2?.frame.origin.y = 100

    }


}

視圖的層次關(guān)系

class ViewController: UIViewController {

    //MARK:-生命周期方法
    override func viewDidLoad() {
        super.viewDidLoad()
        
            self.creatUI()

    }
    //MARK: - 創(chuàng)建界面
    func creatUI(){
        //結(jié)論:
        //在一個(gè)視圖上挺份,添加多個(gè)子視圖的時(shí)候褒翰,子視圖之間有公共的部分,那么后添加的子視圖會(huì)覆蓋先添加的
        //一般情況下匀泊,如果想要將一個(gè)子視圖顯示在最下面优训,就最先添加,想要顯示在最上面就最后添加
        //創(chuàng)建視圖
        let view1 = self.creatView(CGRectMake(50, 100, 100, 100), backColor: UIColor.yellowColor())
        let view2 = self.creatView(CGRectMake(100, 150, 100, 100), backColor: UIColor.redColor())
        let view3 = self.creatView(CGRectMake(150, 200, 100, 100), backColor: UIColor.greenColor())
        let view4 = self.creatView(CGRectMake(180, 130, 100, 100), backColor: UIColor.purpleColor())
        //2將指定的視圖放在最上層
        self.view.bringSubviewToFront(view2)
        //3將指定的視圖放在最下層
        self.view.sendSubviewToBack(view2)
        //4將指定的視圖插入到另一個(gè)視圖上面
        self.view.insertSubview(view2, aboveSubview: view3)
        //5將指定的視圖插入到另一個(gè)視圖下面
        self.view.insertSubview(view2, belowSubview: view1)

    }
    
    //創(chuàng)建視圖
    func creatView(frame:CGRect,backColor:UIColor)->UIView{
        //創(chuàng)建視圖對(duì)象
        let subView = UIView.init(frame:frame)
        //設(shè)置背景色
        subView.backgroundColor = backColor
        //添加到界面上
        self.view.addSubview(subView)
        //將創(chuàng)建的視圖對(duì)象返回
        return subView
    }
}

UIView動(dòng)畫

class ViewController: UIViewController {

    //MARK:-生命周期方法
    override func viewDidLoad() {
        super.viewDidLoad()
        
            self.creatUI()

    }
    //MARK: - 創(chuàng)建界面
    func creatUI(){
        //結(jié)論:
        //在一個(gè)視圖上各聘,添加多個(gè)子視圖的時(shí)候揣非,子視圖之間有公共的部分,那么后添加的子視圖會(huì)覆蓋先添加的
        //一般情況下躲因,如果想要將一個(gè)子視圖顯示在最下面早敬,就最先添加,想要顯示在最上面就最后添加
        //創(chuàng)建視圖
        let view1 = self.creatView(CGRectMake(50, 100, 100, 100), backColor: UIColor.yellowColor())
        let view2 = self.creatView(CGRectMake(100, 150, 100, 100), backColor: UIColor.redColor())
        let view3 = self.creatView(CGRectMake(150, 200, 100, 100), backColor: UIColor.greenColor())
        let view4 = self.creatView(CGRectMake(180, 130, 100, 100), backColor: UIColor.purpleColor())
        //2將指定的視圖放在最上層
        self.view.bringSubviewToFront(view2)
        //3將指定的視圖放在最下層
        self.view.sendSubviewToBack(view2)
        //4將指定的視圖插入到另一個(gè)視圖上面
        self.view.insertSubview(view2, aboveSubview: view3)
        //5將指定的視圖插入到另一個(gè)視圖下面
        self.view.insertSubview(view2, belowSubview: view1)

    }
    
    //創(chuàng)建視圖
    func creatView(frame:CGRect,backColor:UIColor)->UIView{
        //創(chuàng)建視圖對(duì)象
        let subView = UIView.init(frame:frame)
        //設(shè)置背景色
        subView.backgroundColor = backColor
        //添加到界面上
        self.view.addSubview(subView)
        //將創(chuàng)建的視圖對(duì)象返回
        return subView
    }
}

UILabel

class ViewController: UIViewController {
    //MARK:-生命周期
    override func viewDidLoad() {
        super.viewDidLoad()
        self.creatLabel()

    }
    
    func creatLabel(){
        //UILabel:UIView -> UIView的屬性和方法大脉,UILabel都擁有
        //======從UIview繼承下來的屬性==============
        //1.創(chuàng)建UILabel
        let label = UILabel.init(frame: CGRectMake(100, 100, 200, 400))
        //2搞监,添加到界面上
        self.view.addSubview(label)
        //3.設(shè)置背景色
        label.backgroundColor = UIColor.yellowColor()
        //=========UILabel自己的屬性================
        label.text = "道,可道也镰矿,非恒道也琐驴。名,可名也秤标,非恒名也绝淡。 “無”,名天地之始苍姜;“有”牢酵,名萬物之母。 故衙猪,斥梢遥“無”玉罐,欲以觀其妙;撑瞬Γ“有”,欲以觀其徼饶号。 此兩者铁追,同出而異名,同謂之玄茫船。玄之又玄琅束,眾妙之門。"
        //拿到label上當(dāng)前顯示的文字
        print(label.text)
        //2.設(shè)置字體(默認(rèn)17)
        //設(shè)置系統(tǒng)字體算谈,設(shè)置字體大小
        //參數(shù)1字體大小
        //參數(shù)2字體粗細(xì)(0-1)
        label.font = UIFont.systemFontOfSize(25)
        label.font = UIFont.systemFontOfSize(25, weight:0.5)
        //使用粗體涩禀,設(shè)置大小
        label.font = UIFont.boldSystemFontOfSize(17)
        //使用斜體,設(shè)置字體大小
        label.font = UIFont.italicSystemFontOfSize(17)
        
        //獲取系統(tǒng)所有字體的字體名
        print(UIFont.familyNames())
        
        
        //參數(shù)1:字體名
        //參數(shù)2:字體大小
        //"Zapfino","American Typewriter",HYZhuanShuF,FZJKai-Z03S
       label.font = UIFont.init(name:"FZJKai-Z03S", size: 25)
        //總結(jié)使用自己的字體步驟
        //1將ttf文件拖到工程中
        //2在info.plist文件中添加鍵值對(duì)"Fonts provided by application",將字體添加到系統(tǒng)字體庫中
        //3.通過提供字體名的構(gòu)造方法創(chuàng)造字體(先要找到自己添加的字體的字體名)
        
        //設(shè)置文字顏色
        label.textColor = UIColor.greenColor()
        //設(shè)置陰影顏色
        label.shadowColor = UIColor.grayColor()
        //設(shè)置陰影的偏移效果
        label.shadowOffset = CGSizeMake(-1, 2)
        //設(shè)置文字的對(duì)齊方式(默認(rèn)是左對(duì)齊)
        //center - 居中
        //right - 右對(duì)齊
        label.textAlignment = .Center
        //7設(shè)置行數(shù)
        label.numberOfLines = 10
        //自動(dòng)換行
        label.numberOfLines = 0
        //設(shè)置換行模式
        //ByWordWrapping-以單詞為單位換行
        //ByCharWrapping-以字符為單位換行
        label.lineBreakMode = .ByCharWrapping
        }


}
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //需要顯示在label上的文字
        let str = " 唯之與阿然眼,相去幾何艾船?美之與惡,相去若何高每?人之所畏屿岂,不可不畏。"
        //計(jì)算顯示指定文字所需的最小控件
        //1.將SWIFT的字符串轉(zhuǎn)換成OC的字符串
        let ocStr = str as NSString
        //參數(shù)1限制顯示當(dāng)前字符串的最大寬度和最大高度
        //參數(shù)2設(shè)置渲染方式(UsesLineFragmentOrigin)
        //參數(shù)3確定文字的字體大小
        //NSFontAttributeName-字體對(duì)應(yīng)的KEY值
        //NSForegroundColorAttributeName-字體顏色對(duì)應(yīng)的key值
        //參數(shù)4
       let strSize = ocStr.boundingRectWithSize(CGSizeMake(200, 40000000), options: .UsesLineFragmentOrigin, attributes:[NSFontAttributeName:UIFont.systemFontOfSize(17)], context: nil).size
        print(strSize)
        //3創(chuàng)建lebel顯示文字
        let label = UILabel.init(frame: CGRectMake(100, 100, strSize.width, strSize.height))
        label.backgroundColor = UIColor.greenColor()
        self.view.addSubview(label)
        label.text = str
        //自動(dòng)換行
        label.numberOfLines = 0
    }




}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鲸匿,一起剝皮案震驚了整個(gè)濱河市爷怀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌带欢,老刑警劉巖运授,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乔煞,居然都是意外死亡吁朦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門渡贾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喇完,“玉大人,你說我怎么就攤上這事剥啤〗跸” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵府怯,是天一觀的道長刻诊。 經(jīng)常有香客問我,道長牺丙,這世上最難降的妖魔是什么则涯? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任复局,我火速辦了婚禮,結(jié)果婚禮上粟判,老公的妹妹穿的比我還像新娘亿昏。我一直安慰自己,他們只是感情好档礁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布角钩。 她就那樣靜靜地躺著,像睡著了一般呻澜。 火紅的嫁衣襯著肌膚如雪递礼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天羹幸,我揣著相機(jī)與錄音脊髓,去河邊找鬼。 笑死栅受,一個(gè)胖子當(dāng)著我的面吹牛将硝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播屏镊,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼袋哼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了闸衫?” 一聲冷哼從身側(cè)響起涛贯,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蔚出,沒想到半個(gè)月后弟翘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡骄酗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年稀余,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趋翻。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡睛琳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出踏烙,到底是詐尸還是另有隱情师骗,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布讨惩,位于F島的核電站辟癌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏荐捻。R本人自食惡果不足惜黍少,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一寡夹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧厂置,春花似錦菩掏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至砸紊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間囱挑,已是汗流浹背醉顽。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留平挑,地道東北人游添。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像通熄,于是被迫代替她去往敵國和親唆涝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫唇辨、插件廊酣、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,024評(píng)論 4 62
  • Core Animation基礎(chǔ) Core Animation 利用了硬件加速和架構(gòu)上的優(yōu)化來實(shí)現(xiàn)快速渲染和實(shí)時(shí)動(dòng)...
    獨(dú)木舟的木閱讀 1,526評(píng)論 0 3
  • 曾經(jīng)有人這么說過,在iphone里你看到的赏枚,摸到的亡驰,都是UIView,所以UIView在iphone開發(fā)里具有非常...
    我是一只攻城獅_ifYou閱讀 622評(píng)論 0 2
  • 初識(shí)iOS APP開發(fā)#### 在iOS APP開發(fā)中, main函數(shù)仍是程序的入口和出口, 但main函數(shù)不需要...
    DeanYan閱讀 6,113評(píng)論 0 3
  • 母親今年79歲饿幅,虛歲已經(jīng)八十凡辱,我們已經(jīng)給她過了八十大壽。母親年輕時(shí)很漂亮栗恩,我看她年輕時(shí)的照片很時(shí)髦透乾,兩只大眼睛明亮...
    尊道貴德Layla閱讀 362評(píng)論 4 3