ios基礎知識 03

2021-07-11 16:25:56 字數 4015 閱讀 2264

裝置

螢幕型別

螢幕尺寸

解析度(畫素)

iphone 3gs 非

retina

3.5 inch

320*480

320x480

iphone4\4s

retina

3.5 inch

320*480

640x960

iphone5\5c\5s

retina

4 inch

320*568

640x1136

iphone6

retina

4.7 inch

375*667

750x1334

iphone6 plus

retina

5.5 inch

414*736

1242x2208

在retina

螢幕下乙個點表示

2個畫素,在非

retina

螢幕下乙個點表示

1個畫素。在

iphone6 plus

下乙個點表示

3個畫素。

•  結論

1:在同樣乙個尺寸的螢幕下由於使用的螢幕不一樣(

retina

和非retina),

所以造成的螢幕解析度會不同。也就是說,同樣是

30*30

的畫素,在

3.5 inch

大小的螢幕上,如果是非

retina

顯示會大一些

, retina

螢幕顯示會小一些。

•  結論2

:所以在開發中使用的是點。(比如使用

30*30

,不是表示

30畫素,而是表示

30點,這樣的話

ios系統會自動把點轉換為對應的畫素)。

•      

1>

非retina螢幕1

個點表示1畫素

•      

2> retian螢幕1

個點表示2畫素

•      

3> iphone6 plus下1

個點表示3畫素

•  結論3:

因為程式中的是點

, ios

系統會自動把點轉換為不同的畫素去找,

所以對應的也要準備多份不同的。

•  @2x (

視網膜螢幕,

在原來點座標的大小上乘以2)

•  @3x

•  比如:btn_left

這張圖,

在**中寫的時候使用的是

btn_left,ios

會根據實際的螢幕去查詢

btn_left.png

或者是[email protected]

或者[email protected]

•  default-568h@2x

•      

568表示

iphone5

•      

h表示高度

•      

上面的這些都是固定寫法,順序不能調換

總結:ios開發面向的是點座標系,不是畫素

•  乙個在啟動過程中會全屏顯示叫做

default.png的

•  不用規格

default

的使用場合

ø  default.png

:非retina-iphone

螢幕(3.5 inch

),320x480

ø  [email protected]

:retina-iphone

螢幕(3.5 inch

),640x960

ø  [email protected]

:4 inch

的retina-iphone

螢幕,640x1136

ø  default-portrait~ipad.png

:非retain-ipad

豎屏螢幕,

768x1024

ø  [email protected]

:retain-ipad

豎屏螢幕,

1536x2048

ø  default-landscape~ipad.png

:非retain-ipad

橫屏螢幕,

1024x768

ø  [email protected]

:retain-ipad

橫屏螢幕,

2048x1536

應用程式圖示:

•  只要檔名叫做

icon.png

,就會自動被當做是應用程式的圖示

•  乙個應用程式可以準備多種規格的圖示,詳情可以檢視蘋果官方文件,如右圖

啟動:

1.launchscreen

2.launch image souce

uibutton:

•  uibutton

有很多種狀態,它提供了一些便捷屬性,可以直接獲取當前狀態下的文字、文字顏色、等

•  @property(nonatomic,readonly,retain)nsstring *currenttitle;

•  @property(nonatomic,readonly,retain)uicolor  *currenttitlecolor;       

•  @property(nonatomic,readonly,retain)uiimage  *currentimage;            

•  @property(nonatomic,readonly,retain)uiimage  *currentbackgroundimage;

狀態列:

•  在ios7

中,狀態列預設情況下歸控制器管理,比如狀態列的樣式、狀態列的是否可見

•  控制器通過重寫以下方法來控制狀態列

ø  設定狀態列的樣式

-  (uistatusbarstyle)preferredstatusbarstyle; 其中

uistatusbarstylelightcontent

是白色樣式

ø  設定狀態列的可見性

-(bool)prefersstatusbarhidden;

:-(uistatusbarstyle)preferredstatusbarstyle

- (bool) prefersstatusbarhidden

1. 將移動到檢視的頂層

//bringsubviewtofront

呼叫方法的這個

view

,必須是被攜帶

view

的父view

[self.viewbringsubviewtofront:self.imageview]

//userinteractionenabled = no

禁止任何使用者互動,如果是父

view

設定了這個屬性為

no,那麼它的子

view

也將不會接受使用者互動

使用kvc的方式賦值:

[self setvaluesforkeywithdictionary:dict]; //

讓陣列中所有元素都執行

removefromsuperview

[_answerview.subviewsmakeobjectsperformselector:@selector(removefromsuperview)]; //

遍歷陣列(最快的):

[_optionview.subviews enumerateobjectsusingblock:^(__kindof uiview *_nonnull obj, nsuintegeridx, bool * _nonnull stop)

}];

ios基礎知識

1.2 plist xml格式檔案通常用於儲存使用者設定 pch 預編譯檔案頭 xib nte ce builder 的圖形介面設計文件 storyboard是ios 5的新特徵,旨在代替歷史悠久的nib xib 3 4 viewcontroller 建立viewcontroller時,執行load...

iOS 基礎知識

幾種寫法的區別 const nsstring conststring1 i am a const nsstring string nsstring const conststring2 i am a nsstring const string static const nsstring static...

IOS基礎知識

inte ce class nsobject class 繼承自 nsobject end 類的屬性申明 inte ce person nsobject perperty nsstring firstname property nsstring lastname property nsnumber ...