藍懿教育 資料庫&螢幕適配

來源:互聯網
上載者:User

標籤:

一、資料庫操作
1建立
CREATE TABLE IF NOT EXISTS 表名(欄位1 類型1 修飾詞, 欄位2 類型2)

INTEGER PRIMARY KEY AUTOINCREMENT意思是試這個欄位作為主鍵

(後續見fmdbDemo)
2增加
3刪除
4修改
5查詢(不涉及資料庫內容或者結構更改)

二、沙箱以及路徑擷取

/Users/sunli/Library/Developer/CoreSimulator/Devices/073756A6-6159-4084-AD68-05029D3E9B04/data/Containers/Data/Application/C536EDF0-B85D-4790-ABD1-26A8EB7AC1E8/Documents


/Users/sunli/Library/Developer/CoreSimulator/Devices/073756A6-6159-4084-AD68-05029D3E9B04/data/Containers/Data/Application/C536EDF0-B85D-4790-ABD1-26A8EB7AC1E8


Documents:應用中使用者資料可以放在這裡,iTunes備份和恢複的時候會包括此目錄

tmp:存放臨時檔案,iTunes不會備份和恢複此目錄,此目錄下檔案可能會在應用退出後刪除

Library/Caches:存放快取檔案,iTunes不會備份此目錄,此目錄下檔案不會在應用退出刪除




tmp目錄

NSHomeDirectory()


也就是Documents的上級目錄,當然也是tmp目錄的上級目錄。那麼檔案路徑可以這樣寫:

NSString *fileName=[NSHomeDirectory() stringByAppendingPathComponent:@"tmp/myFile.txt"];

或者用這個函數:

NSTemporaryDirectory()
螢幕適配

iphone

 

很明顯能看出這三種螢幕的尺寸寬高比是差不多的,因此可以在5的基礎上,按比例放大來相容6和6Plus的螢幕。

 

在AppDelegate.h中
@property float autoSizeScaleX;
@property float autoSizeScaleY;

 


在AppDelegate.m中

#define ScreenHeight [[UIScreen mainScreen] bounds].size.height//擷取螢幕高度,相容性測試
#define ScreenWidth [[UIScreen mainScreen] bounds].size.width//擷取螢幕寬度,相容性測試
  
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];
      
    if(ScreenHeight > 480){
        myDelegate.autoSizeScaleX = ScreenWidth/320;
        myDelegate.autoSizeScaleY = ScreenHeight/568;
    }else{
        myDelegate.autoSizeScaleX = 1.0;
        myDelegate.autoSizeScaleY = 1.0;
    }
}

因為iPhone4s螢幕的高度是480,因此當螢幕尺寸大於iPhone4時,autoSizeScaleX和autoSizeScaleY即為當前螢幕和iPhone5尺寸的寬高比。比如,
如果是5,autoSizeScaleX=1,autoSizeScaleY=1;
如果是6,autoSizeScaleX=1.171875,autoSizeScaleY=1.17429577;
如果是6Plus,autoSizeScaleX=1.29375,autoSizeScaleY=1.2957;
現在我們擷取了比例關係後,先來看一下如何解決代碼設定介面時的相容。
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)這個方法使我們常用的設定尺寸的方法,現在我設定了一個類似於這樣的方法。
在.m檔案中

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake1(100, 100, 50, 50)];
  

CG_INLINE CGRect//注意:這裡的代碼要放在.m檔案最下面的位置
CGRectMake1(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
{
    AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];
    CGRect rect;
    rect.origin.x = x * myDelegate.autoSizeScaleX; rect.origin.y = y * myDelegate.autoSizeScaleY;
    rect.size.width = width * myDelegate.autoSizeScaleX; rect.size.height = height * myDelegate.autoSizeScaleY;
    return rect;
}

藍懿教育 資料庫&螢幕適配

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.