初學(xué)ios

? ?? 作為安卓的一個小菜鳥,最初學(xué)習(xí)ios有一點懵,不知從何下手。在同事講解的過程中,也是將ios和安卓知識對應(yīng)起來,這樣就比較好理解了, 也好記多了。

創(chuàng)建工程項目什么的自己去網(wǎng)上找吧,一找一大把,我這里就不寫了。

controller==acitivity

ios中controller就是安卓中的activity,在創(chuàng)建文件的時候,會自動的創(chuàng)建兩個文件:.h文件和 .m文件。

.h文件

.h文件是公開定義類的成員變量以及方法等等,外部是可以訪問的,其實就是聲明文件,

.h文件:

.m文件

?implementation顧名思義,? 具體的是在.m文件中實現(xiàn)的。

@implementation?? Student

@end

創(chuàng)建對象

1.Person *person = [[Person alloc]init];?

2. Person *person = [Person new];

3.Person *person =[ [Person alloc]initWithXXXX];

在ios的代碼中 總能看到這樣的代碼,因為ios底層是用c、c++,它創(chuàng)建出來的對象都是這種指針對象, 所以寫的時候不要忘了加*號啊。簡單分析一下上面三種創(chuàng)建對象的方法,三種方法的作用都是:分配空間并初始化,以下是第一種和第二種方法的源碼


看上圖,可知第一種和第二種的方法并沒有什么太大的區(qū)別。第三種方式initWithXXX 表示初始化具體的屬性 ,如下圖:

+ 、- 、[ ]、()符號是什么意思??

+? 方法:表示為類方法,就相當(dāng)于安卓中加了static的方法。

-?? 方法:表示實例方法,要通過對象才能調(diào)用。

[ ]? ? ? ? :格式為:[類名/對象名? 方法名稱]? , 就相當(dāng)于安卓中的 xxx.yyy();? ? 也就是調(diào)用方法的時候,就用中括號括起來,

()????? : 小括號括起來的都是數(shù)據(jù)類型,如上圖,char和NSInteger 都是用括號括起來的,這個規(guī)則記住就行。


UI方面

UILabel?? ==? TextView

UITextField??? ==? EditText

UIButton??? ==? Button

UITableView? ==? ListView

UICollectionView? ==? GridView

目前我知道的只有這些? 嘿嘿? 慢慢來。

畫ios的頁面感覺不是那么容易。第一,ios的控件都是在.m文件中一個個創(chuàng)建出來,再一個個給他們設(shè)好寬高,位置,都需要自己去設(shè)置好。第二,AndroidStudio 在畫頁面的時候? 是可以在右邊看到預(yù)覽圖的,ios挺有意思的地方是點住那個頁面可以動,能夠看到這個頁面有多少層。挺好玩的。安卓和ios都可以可視化編程,但是那是在最初學(xué)習(xí)的時候使用的,后來都沒有用到了,所以學(xué)習(xí)ios的時候也沒有這樣做。

創(chuàng)建控件

拿UIButton舉例

先創(chuàng)建UIButton

1.? UIButton * btn = [UIButton? new];

2.? [self.view? addView: btn];

3.? [btn mas_makeConstraints:^(MASConstraintMaker *make) {

4.? make.left.equalTo(self.view).with.offset(10);

5.? make.top.equalTo(self.view).with.offset(5);

6.? make.size.mas_equalTo(CGSizeMake(400,400));

7.? }];

第2步是一定要有的,將你創(chuàng)建的控件添加到這個頁面中,或者是你想要添加到哪個控件上。哦,這個同事和我講 self 相當(dāng)于this。

第3步中使用的是 Masonry(一個輕量級的布局框架),mas_makeConstraints 是給view添加約束,約束有幾種,分別是邊距,寬,高,左上右下距離,基準(zhǔn)線。添加過約束后可以有修正,修正有offset(偏移量,感覺也算是margin)修正和multipliedBy(倍率)修正。

當(dāng)你想把這個button放到哪個控件左邊,那么第4步中可以將self.view換成xx.mas_right即獲取xx控件最右邊的坐標(biāo),然后根據(jù)需求再設(shè)置偏移量。

當(dāng)你想把這個button放到哪個控件下邊,那么第5步中可以將self.view換成xx.mas_bottom即獲取xx控件最下方的坐標(biāo),然后根據(jù)需求再設(shè)置偏移量。

之前組長給了我一個開發(fā)任務(wù)讓我畫個很簡單的頁面。如下圖:

說一下主要的實現(xiàn)思路,像頭部,可以由兩個UILabel組成,設(shè)置好寬高大小后,頭部橙色Label就要addView到整個窗體,而標(biāo)題名字就需要addView到頭部label。其他的控件像上面創(chuàng)建Button那樣做,就可以實現(xiàn)整個頁面了。

初學(xué)ios接觸的不多,了解的不深,以上都只是自己這幾天學(xué)習(xí)ios一點點小小收獲,有理解的不對的地方,歡迎各位大佬批評指正。

附上部分代碼截圖 :

手機(jī)像素問題拍出來效果不是太好,請各位將就看吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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