IOS UI進階03,iosui進階

來源:互聯網
上載者:User

IOS UI進階03,iosui進階
導航控制器

1.導航控制器永遠顯示的是棧頂控制器的view

2.導航控制器中做介面之間的跳轉必須拿到導航控制器

3.調用pop方法並不會馬上銷毀當前控制器

4.popToViewController使用注意點,傳入進去的控制器必須是導航控制器棧裡面的控制器

5.導航條的內容由棧頂控制器決定,一個導航控制器只有一個導航條,因此只能由一個控制器決定,誰先顯示在最外面,誰就是棧頂控制器.

6.在iOS7之後,預設會把導航條上的按鈕的圖片渲染成藍色.

7.導航條上的子控制項位置不需要我們管理,只需要管理尺寸

8.UINavigationItem:是一個模型,決定導航條的內容(左邊內容,中間,右邊內容)

10.以後只要看到item,通常都是蘋果提供的模型,只要改模型就能修改蘋果的某些控制項.

1-控制器view的生命週期

3.在非ARC中viewDidUnload,經常用來清空介面上的資料

2-資料存放區1.plist儲存

1.plist儲存,產生一個plist檔案.

2.plist不是數組就是字典,plist儲存就是用來儲存字典或者數組.

注意:Plist不能儲存自訂對象

3.擷取應用沙箱中Caches檔案路徑

    // directory:擷取哪個檔案夾    // domainMask:在哪個範圍內搜尋,NSUserDomainMask:表示在使用者的手機上尋找    // expandTilde:是否展開全路徑 YES:表示展開全路徑 NO:不會展開全路徑,會把應用沙箱的路徑用波浪號(~)代替    // 擷取到Caches檔案夾路徑    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];

4.讀取plist,之前是什麼類型儲存的,讀取也是什麼

2.喜好設定儲存
    // 喜好設定儲存:NSUserDefaults    // 以字典的形式進行喜好設定,用法跟字典.    // 喜好設定好處:  1.不需要關心檔案名稱    //              2.快速進行索引值對儲存    //              3.直接儲存基礎資料型別 (Elementary Data Type)

@implementation ViewController

- (IBAction)save:(id)sender { 

    // 擷取單例

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    

    // @"123" key:pwd

    [defaults setObject:@"123" forKey:@"pwd"];

    // bool

    [defaults setBool:YES forKey:@"isOn"];

    // int

    [defaults setInteger:10 forKey:@"num"];    

}

- (IBAction)read:(id)sender {

        // 利用NSUserDefaults單例

   NSString *pwd = [[NSUserDefaults standardUserDefaults] objectForKey:@"pwd"];

   NSInteger i = [[NSUserDefaults standardUserDefaults] integerForKey:@"num"];

    NSLog(@"%@--%ld",pwd,i);  

}

 

3.歸檔

1.NSKeyedArchiver專門用來做自訂對象歸檔

// 什麼時候調用:當一個對象要歸檔的時候就會調用這個方法歸檔// 作用:告訴蘋果當前對象中哪些屬性需要歸檔- (void)encodeWithCoder:(NSCoder *)aCoder{    [aCoder encodeObject:_name forKey:@"name"];    [aCoder encodeInt:_age forKey:@"age"];}// 什麼時候調用:當一個對象要解檔的時候就會調用這個方法解檔// 作用:告訴蘋果當前對象中哪些屬性需要解檔// initWithCoder什麼時候調用:只要解析一個檔案的時候就會調用- (id)initWithCoder:(NSCoder *)aDecoder{    #warning  [super initWithCoder]    if (self = [super init]) {        // 解檔        // 注意一定要記得給成員屬性賦值      _name = [aDecoder decodeObjectForKey:@"name"];      _age = [aDecoder decodeIntForKey:@"age"];    }    return self;}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.