UI基礎(chǔ)學(xué)習(xí)1+

UI第一天學(xué)習(xí)總結(jié)

通過swift基礎(chǔ)語言的三周學(xué)習(xí)過后,今天迎接來了iOS開發(fā)第二階段的學(xué)習(xí)--UI

FirstBlood

首先我們APPAlication.swift進(jìn)行了一些基本的認(rèn)識(shí),
下面就是APPAlication.swift的一個(gè)框架,雖然我們以前經(jīng)趁瘸模看到它掉瞳,但是從未真正地去深入了解過它届惋,如今這個(gè)UI階段我們將天天和它打交道。下面我們就來幾本理解一下它的結(jié)構(gòu)框架吧菠赚!

//import是導(dǎo)入文件/庫的關(guān)鍵字
//UIKit是iOS中所有的控件所在庫文件
import UIKit



@UIApplicationMain  //調(diào)用了OC中的UIApplicationMain函數(shù)脑豹;
//UIApplicationMain是iOS應(yīng)用程序的入口
//UIApplicationMain:1.創(chuàng)建了一個(gè)UIApplication對(duì)象,代表當(dāng)前應(yīng)用程序. 作用是用來檢測(cè)當(dāng)前應(yīng)用程序狀態(tài)的改變衡查。 2.創(chuàng)建一個(gè)遵守UIApplicationDelegate的協(xié)議的類的對(duì)象作為UIApplication的代理瘩欺,作用是處理應(yīng)用程序狀態(tài)的改變(創(chuàng)建AppDelegate對(duì)象并且設(shè)置為UIApplication對(duì)象的代理)




class AppDelegate: UIResponder, UIApplicationDelegate {

    
    
    //屬性:
    var window: UIWindow?

    
    
    //方法:
    //1.當(dāng)應(yīng)用程序已經(jīng)啟動(dòng)成功后,會(huì)自動(dòng)調(diào)用這個(gè)方法
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        //1.在這個(gè)方法中來搭建應(yīng)用程序中的所有的界面
        //2.獲取應(yīng)用程序需要展示的數(shù)據(jù)
        //3.使用界面展示數(shù)據(jù)
        //注意:如果不在這個(gè)方法中去創(chuàng)建window,那么程序會(huì)通過Main.storyboard去創(chuàng)建應(yīng)用程序的界面
        print("程序啟動(dòng)成功")
        
        return true
    }

    
    
    //2.當(dāng)應(yīng)用程序?qū)⒁蔀榉腔钴S狀態(tài)的時(shí)候會(huì)自動(dòng)調(diào)用這個(gè)方法。
    //活躍狀態(tài):程序在屏幕上可見
    //非活躍狀態(tài):程序沒有顯示在屏幕上(按home鍵進(jìn)入后臺(tái)俱饿、來電打斷歌粥、在當(dāng)前應(yīng)用程序打開其他的應(yīng)用程序)
    func applicationWillResignActive(application: UIApplication) {
        
        //按下home鍵:command + shift + h
        
        //在這個(gè)方法中一般去暫停視頻/音頻播放;游戲需要暫停游戲拍埠;保存數(shù)據(jù)
        
        print("將要成為非活躍狀態(tài)")
    }

    
    
    
    //3.應(yīng)用程序已經(jīng)進(jìn)入后臺(tái)的時(shí)候會(huì)自動(dòng)調(diào)用
    //進(jìn)入后臺(tái):按home鍵
    func applicationDidEnterBackground(application: UIApplication) {
         //在這個(gè)方法中一般去暫停視頻/音頻播放失驶;游戲需要暫停游戲;保存數(shù)據(jù)
        print("已經(jīng)進(jìn)入后臺(tái)")
    }

    
    
    //4.應(yīng)用程序?qū)⒁M(jìn)入前臺(tái)的時(shí)候會(huì)自動(dòng)調(diào)用
    //進(jìn)入前臺(tái):
    func applicationWillEnterForeground(application: UIApplication) {
        
        //按兩下home鍵:command + shift + h + h
        print("將要進(jìn)入前臺(tái)")
    }

    
    
    //5.應(yīng)用程序已經(jīng)變成活躍狀態(tài)的時(shí)候會(huì)自動(dòng)調(diào)用
    //a.程序啟動(dòng)成功后
    //b.程序從后臺(tái)重新進(jìn)入前臺(tái)
    //c.來電打斷結(jié)束枣购。嬉探。。
    func applicationDidBecomeActive(application: UIApplication) {
        
        print("已經(jīng)變成活躍狀態(tài)")
        
    }


上面我將整個(gè)結(jié)構(gòu)框架的解析注釋在了代碼里

UIWindow

window顧名思義就是窗口的意思棉圈,在這里我們將UIwindow稱為視圖窗口涩堤,下面我將把今天學(xué)習(xí)UIWindow的全部過程展示在我的代碼中,方便大家相互學(xué)習(xí)

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //創(chuàng)建一個(gè)視圖對(duì)象
        let redView = UIView.init()
        //添加到界面上
        self.view.addSubview(redView)
        //設(shè)置背景顏色
        redView.backgroundColor = UIColor.redColor()
        
        
        //1.frame(坐標(biāo)和大小)
        redView.frame = CGRectMake(100, 100, 100, 100)
        
        
        //2.center(中心點(diǎn)坐標(biāo))
        //a.通過frame和確定視圖的中心點(diǎn)坐標(biāo)
        print(redView.center)
        //b.可以通過改變center的值分瘾,去改變視圖的坐標(biāo)
        redView.center = CGPointMake(200, 200)
        print(redView.frame)
        
        
        //3.bounds(坐標(biāo)和大小)
        //掌握:默認(rèn)情況下bounds的坐標(biāo)是(0,0),大小和視圖的frame大小一樣
        print(redView.bounds)
        
        
        //了解:
        //如果改變bounds的大小胎围,frame的大小和坐標(biāo)都改變,center不變
        /*
        redView.bounds = CGRectMake(0, 0, 200, 200)
        print("frame\(redView.frame)")
        print("center\(redView.center)")
         */
        
        //如果改變bounds的坐標(biāo)德召,不影響當(dāng)前視圖的位置白魂。但是影響添加到當(dāng)前視圖上的子視圖的坐標(biāo),不建議修改bounds
        redView.bounds = CGRectMake(0, 0, 100, 100)
        
        let yellowView = UIView.init(frame: CGRectMake(10, 10, 40, 40))
        yellowView.backgroundColor = UIColor.yellowColor()
        redView.addSubview(yellowView)
        
//4.transform(形變)
        
        //當(dāng)前視圖發(fā)生形變上岗,那么添加到當(dāng)前視圖上的所有的視圖會(huì)跟著一起形變
        //a.縮放
        //參數(shù)1:x方向上的縮放比例
        //參數(shù)2:y方向上的縮放比例
        redView.transform = CGAffineTransformMakeScale(0.8, 2.5)
        
        
        //b.旋轉(zhuǎn)
        //參數(shù):旋轉(zhuǎn)角度(圓周率對(duì)應(yīng)的角度值)
        redView.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_4 / 2))
        
        
        //c.平移
        //參數(shù)1:在x方向上平移的距離碧聪,負(fù)值->向左移,正值->向右移
        //參數(shù)2:在y方向上平移的距離液茎,負(fù)值->向上移逞姿,正值->向下移
        redView.transform = CGAffineTransformMakeTranslation(0, 300)
        
    //d.多個(gè)形變同時(shí)發(fā)生
        //在另外一個(gè)形變的前提下旋轉(zhuǎn)
        //參數(shù)1:另外一個(gè)形變
        //參數(shù)2:旋轉(zhuǎn)角度
        redView.transform = CGAffineTransformRotate(CGAffineTransformMakeScale(0.5, 0.5), CGFloat(M_PI_4 / 2))
        
        
        //在另外一個(gè)形變的前提下平移
        redView.transform = CGAffineTransformTranslate(redView.transform, 0, 300)
        
        
        //在另外一個(gè)形變的前提下縮放
        //創(chuàng)建一個(gè)平移的形變
        let transLation = CGAffineTransformMakeTranslation(100, 0)
        redView.transform = CGAffineTransformScale(transLation, 0.5, 2)
        
        
    //組合兩個(gè)形變
        //1.旋轉(zhuǎn)形變
        let rotate = CGAffineTransformMakeRotation(0.2)
        
        
        //2.平移形變
        let transLation1 = CGAffineTransformMakeTranslation(100, 100)
        
        
        //3.將旋轉(zhuǎn)形變和平移形變組合
        redView.transform = CGAffineTransformConcat(rotate, transLation1)
        
        
    
    }

    


}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市捆等,隨后出現(xiàn)的幾起案子滞造,更是在濱河造成了極大的恐慌,老刑警劉巖栋烤,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谒养,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡明郭,警方通過查閱死者的電腦和手機(jī)买窟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來薯定,“玉大人始绍,你說我怎么就攤上這事』爸叮” “怎么了亏推?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵学赛,是天一觀的道長。 經(jīng)常有香客問我吞杭,道長盏浇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任芽狗,我火速辦了婚禮绢掰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘童擎。我一直安慰自己滴劲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布柔昼。 她就那樣靜靜地躺著哑芹,像睡著了一般炎辨。 火紅的嫁衣襯著肌膚如雪捕透。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天碴萧,我揣著相機(jī)與錄音乙嘀,去河邊找鬼。 笑死破喻,一個(gè)胖子當(dāng)著我的面吹牛虎谢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播曹质,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼婴噩,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了羽德?” 一聲冷哼從身側(cè)響起几莽,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宅静,沒想到半個(gè)月后章蚣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡姨夹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年纤垂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磷账。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡峭沦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出逃糟,到底是詐尸還是另有隱情熙侍,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站蛉抓,受9級(jí)特大地震影響庆尘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巷送,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一驶忌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笑跛,春花似錦付魔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至陈哑,卻和暖如春妻坝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惊窖。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工刽宪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人界酒。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓圣拄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親毁欣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子庇谆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,162評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件凭疮、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,105評(píng)論 4 62
  • 正所謂饭耳,物以類聚,人以群分哭尝,人的天性決定了喜歡和同類在一起哥攘。隨著社會(huì)的發(fā)展,我們的交流愈發(fā)便捷材鹦,即使老朋友隔著千山...
    _KD閱讀 1,564評(píng)論 0 0
  • 阿芷新搬了家逝淹,為了安全和清凈,不顧房租比原來的合租房貴了一半桶唐,咬牙租下了這間20平米的小窩栅葡。 小窩是小電梯公寓,在...
    耕蕓的蕓閱讀 322評(píng)論 3 4
  • 一個(gè)小孩赤裸裸地被埋藏在一片花粉中尤泽。 大人們找不到她欣簇, 小伙伴們找不到她规脸。 蝴...
    梁丫梁丑丑是個(gè)幼稚仔閱讀 163評(píng)論 0 0