? ?? 作為安卓的一個小菜鳥朋沮,最初學習ios有一點懵,不知從何下手缀壤。在同事講解的過程中樊拓,也是將ios和安卓知識對應起來,這樣就比較好理解了塘慕, 也好記多了筋夏。
創(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 表示初始化具體的屬性 石窑,如下圖:
+ 牌芋、- 、[ ]松逊、()符號是什么意思躺屁??
+? 方法:表示為類方法经宏,就相當于安卓中加了static的方法犀暑。
-?? 方法:表示實例方法,要通過對象才能調用烁兰。
[ ]? ? ? ? :格式為:[類名/對象名? 方法名稱]? 耐亏, 就相當于安卓中的 xxx.yyy();? ? 也就是調用方法的時候,就用中括號括起來沪斟,
()????? : 小括號括起來的都是數(shù)據(jù)類型广辰,如上圖,char和NSInteger 都是用括號括起來的币喧,這個規(guī)則記住就行轨域。
UI方面
UILabel?? ==? TextView
UITextField??? ==? EditText
UIButton??? ==? Button
UITableView? ==? ListView
UICollectionView? ==? GridView
目前我知道的只有這些? 嘿嘿? 慢慢來。
畫ios的頁面感覺不是那么容易杀餐。第一干发,ios的控件都是在.m文件中一個個創(chuàng)建出來,再一個個給他們設好寬高史翘,位置枉长,都需要自己去設置好。第二琼讽,AndroidStudio 在畫頁面的時候? 是可以在右邊看到預覽圖的必峰,ios挺有意思的地方是點住那個頁面可以動,能夠看到這個頁面有多少層钻蹬。挺好玩的吼蚁。安卓和ios都可以可視化編程,但是那是在最初學習的時候使用的,后來都沒有用到了肝匆,所以學習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 相當于this能曾。
第3步中使用的是 Masonry(一個輕量級的布局框架)度硝,mas_makeConstraints 是給view添加約束,約束有幾種寿冕,分別是邊距蕊程,寬,高蚂斤,左上右下距離存捺,基準線。添加過約束后可以有修正曙蒸,修正有offset(偏移量,感覺也算是margin)修正和multipliedBy(倍率)修正岗钩。
當你想把這個button放到哪個控件左邊纽窟,那么第4步中可以將self.view換成xx.mas_right即獲取xx控件最右邊的坐標,然后根據(jù)需求再設置偏移量兼吓。
當你想把這個button放到哪個控件下邊臂港,那么第5步中可以將self.view換成xx.mas_bottom即獲取xx控件最下方的坐標,然后根據(jù)需求再設置偏移量视搏。
之前組長給了我一個開發(fā)任務讓我畫個很簡單的頁面审孽。如下圖:
說一下主要的實現(xiàn)思路,像頭部浑娜,可以由兩個UILabel組成佑力,設置好寬高大小后,頭部橙色Label就要addView到整個窗體筋遭,而標題名字就需要addView到頭部label打颤。其他的控件像上面創(chuàng)建Button那樣做,就可以實現(xiàn)整個頁面了漓滔。
初學ios接觸的不多编饺,了解的不深,以上都只是自己這幾天學習ios一點點小小收獲响驴,有理解的不對的地方透且,歡迎各位大佬批評指正。
附上部分代碼截圖 :
手機像素問題拍出來效果不是太好豁鲤,請各位將就看吧秽誊。