一.快捷鍵
Home鍵:command + shift + h ? ?
編譯:command + B
編譯和運行:command + R
二.應用界面
1.代碼修改背景顏色
在ViewController中修改viewDidLoad方法
self.view.backgroundColor = [UIColor redColor];
Main.storyboard中背景顏色如果選Default就是黑色
2.工程配置介紹
General ->?Identify:
Bundle Identifier:是應用的唯一標識,在應用發(fā)布的時候是必填的。
Version:版本信息胚膊。
General ->?Deployment Info:
Deployment Target:就是操作系統(tǒng)的版本號住册,就像win10一樣塌计,ios也有10.0叽唱,11.2。
Device Orientation:手機運行完之后當前的屏幕狀態(tài)黎茎。
General ->?App Icons and launch Images:
應用圖標
Info -> Custom iOS Target Properties
Bundle name:App名稱
3.窗口視圖控制器UI三者的關系
UIWindow在最下面地消,在它上面添加一個或多個視圖控制器炉峰,在視圖控制器上添加一個或多個UI,如UIButton脉执,UIImageView
4.手機屏幕UIScreen
UIScreen:主要用于獲取當前手機屏幕大小
640 ?X 960這種指的是像素尺寸疼阔,平常編程時UIScreen獲取到的是物理尺寸
struct CGRect {
? ? CGPoint origin;
? ? CGSize size;
};
//獲取當前手機屏幕尺寸
//bounds就是CGRect類型
? ? CGFloat width = [UIScreen mainScreen].bounds.size.width;
? ? CGFloat height = [UIScreen mainScreen].bounds.size.height;
//源點坐標
? ? CGFloat x = [UIScreen mainScreen].bounds.origin.x;
? ? CGFloat y = [UIScreen mainScreen].bounds.origin.y;
三.UIView
1.添加一個view視圖
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];
view.backgroundColor = [UIColor redColor];
[self.view addSubview:view ];
2.view的Frame和Bounds屬性
bounds:該view在本身坐標系統(tǒng)中的位置和大小
frame:該view在父view坐標系統(tǒng)中的位置和大小
3.view的層次結構
view添加有先后順序,最后添加的在最上層半夷。
添加view時婆廊,如果之前的view看不到,可能被新的覆蓋巫橄,新添加的如果看不到淘邻,可能超出了屏幕范圍(frame設置的不正確)
4.圖層的位置交換
????UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];
? ? view1.backgroundColor = [UIColor redColor];
? ? [self.view addSubview:view1 ];
? ? UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];
? ? view2.backgroundColor = [UIColor greenColor];
? ? [self.view addSubview:view2 ];
? ? //交換
? ? [self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
5.view的一些操作
//插入
[self.view insertSubview: view2 atIndex:1];
//把某個視圖移動到最前面
[self.view bringSubviewToFront:view1];
//把某個視圖移動到最后面
[self.view sendSubviewToBack:view3];
6.view子視圖的快速遍歷
????//view1 -> gray view2 -> 200 200 view3刪除
? ? view1.tag = 1;
? ? view2.tag = 2;
? ? view3.tag = 3;
? ? NSArray *subViewArray = self.view.subviews;
? ? for (UIView *view in subViewArray) {
? ? ? ? if (view.tag == 1) {
? ? ? ? ? ? view.backgroundColor = [UIColor grayColor];
? ? ? ? }
? ? ? ? if (view.tag == 2) {
? ? ? ? ? ? view.frame = CGRectMake(200, 200, 100, 50);
? ? ? ? }
? ? ? ? if (view.tag == 3 ) {
? ? ? ? ? ? [view removeFromSuperview] ;
? ? ? ? }
? ? }
7.通過布局文件添加UIView
Strong & Weak
- 通過拖拽的方式添加的控件,一般都使用weak屬性
- 通過代碼添加的對象(控件)湘换,多數使用Strong
8.view透明度隱藏屬性介紹
Alpha:1是不透明宾舅,0是全透明
整個的view視圖如果修改為0,會變成黑色彩倚,說明它的底色是黑色
//通過代碼修改透明度 0~1之間 0:隱藏
self.myView1.alpha = 0.5;
//隱藏的另一種方法
self.myView1.hidden = true;
9.邊框陰影效果實現
? ? //邊框
????//layer屬性 在layer圖層下如果使用顏色一定要用CGColor
? ? self.myView1.layer.borderColor = [UIColor grayColor].CGColor ;
? ? self.myView1.layer.borderWidth = 10;
? ? //圓角效果
? ? self.myView1.layer.cornerRadius = 10;
????//陰影
? ? self.myView1.layer.shadowColor = [UIColor greenColor].CGColor;
? ? self.myView1.layer.shadowOffset = CGSizeMake(10, 10); ? ?//向右下的偏移量
? ? //透明度
? ? self.myView1.layer.shadowOpacity = 0.5;
9.Layer和UIView方法總覽(Layer面試可能會考筹我,很重要,答出以下四條即可)
1 layer:無法響應響應事件 UIView:可以響應
2 layer繼承的是NSObject UIView繼承的是UIResponder類
3 layer:內容的繪制和創(chuàng)建 UIView:內容的顯示和管理
4 layer:實現一些特殊效果,如圓角署恍,邊框崎溃,陰影
四.UILable
1.UILable內容添加字體顏色背景色
????//1 實例化 2 屬性 3 add
? ? UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(20, 60, 300, 50)];
? ? label1.backgroundColor = [UIColor grayColor];
? ? label1.text = @"LSY";
? ? label1.textColor = [UIColor blueColor];
? ? [self.view addSubview:label1];
2.UILable字體的使用
????//font字體
? ? //系統(tǒng)字體
? ? label1.font = [UIFont systemFontOfSize:12.0];
? ? //使用字體名稱
????label2.font = [UIFont fontWithName:@"Aril-BoldMT" size:15.0];
3.UILabel的對齊方式和截斷方式
????//對齊方式 text內容相對于UILabel向右對齊 有向右向左居中三種
? ? label3.textAlignment = NSTextAlignmentRight;
????//截斷
? ? UILabel *label4 = [[UILabel alloc]initWithFrame:CGRectMake(20, 240, 300, 50)];
? ? label4.backgroundColor = [UIColor grayColor];
? ? label4.text = @"LSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSYLSY";
? ? label4.textColor = [UIColor blueColor];
? ? //font字體
? ? label4.font = [UIFont systemFontOfSize:16.0];
? ? /*
? ? 最常用的三種截斷
? ? NSLineBreakByTruncatingHead,? ? // Truncate at head of line: "...wxyz"
? ? NSLineBreakByTruncatingTail,? ? // Truncate at tail of line: "abcd..."
? ? NSLineBreakByTruncatingMiddle? ? // Truncate middle of line:? "ab...yz"
? ? */
? ? label4.lineBreakMode = NSLineBreakByTruncatingHead;
? ? [self.view addSubview:label4];
4.UILabel的內容調整
????//內容自適應
? ? //方法1
? ? label5.adjustsFontSizeToFitWidth = true;
????//方法2 num=0時代表當前text自適應調整并且調整的行數不固定
? ? label5.numberOfLines = 0;
5.UILabel的邊框陰影效果
? ?//邊框
? ? label6.layer.borderColor = [UIColor redColor].CGColor;
? ? label6.layer.borderWidth = 10.0;
????//整個label的陰影
? ? label6.layer.shadowColor = [UIColor greenColor].CGColor;
? ? label6.layer.shadowOffset = CGSizeMake(10.0, 10.0);
? ? label6.layer.shadowOpacity = 0.5;
? ? //Text內容字體陰影
? ? label6.shadowColor = [UIColor greenColor];
? ? label6.shadowOffset = CGSizeMake(2.0, 2.0 );
? ? [self.view addSubview:label6];
6.UILabel根據內容獲取合適寬高
????UIFont *font = [UIFont systemFontOfSize:16.0];
? ? NSString *str = @"LSYLSY";
? ? //sizeWithAttributes返回合適的字符串寬高
? ? //參數:字典類型蜻直,用于約束當前字符串
? ? CGSize labelWH = [str sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil]];
? ? UILabel *label7 = [[UILabel alloc]initWithFrame:CGRectMake(20, 420, labelWH.width, labelWH.height)];
? ? label7.backgroundColor = [UIColor grayColor];
? ? label7.text = str;
? ? label7.textColor = [UIColor blueColor];
? ? //font字體
? ? label7.font = font;
? ? [self.view addSubview:label7];
五.UIImageView控件
1.UIImageView的認識和基本使用
UIImageView:UI + Image + View盯质,是用來顯示圖片的視圖
UIImage:具體的圖片
步驟:
①先用UIImage把圖片讀取進來
②使用UIImageView將當前的UIImage顯示出來
代碼:
????UIImage *image1 = [UIImage imageNamed:@"150G153291P-I209.jpg"];
? ? UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 20, 300, 200) ];
? ? imageView.image = image1;
? ? [self.view addSubview:imageView ];
2.UIImageView拉伸填充效果
????//UIViewContentModeScaleToFill:鋪滿當前imageView ? ? ?拉伸
? ? //UIViewContentModeScaleAspectFit:等比例拉伸
????imageView.contentMode = UIViewContentModeTop;
3.UIImageView幾何變換
①中心移動
imageView.center = CGPointMake(300, 400);
②旋轉
imageView.transform = CGAffineTransformMakeRotation(M_1_PI);
③縮放(x方向縮放為原來的0.5袁串,y方向縮放為原來的0.4)
imageView.transform = CGAffineTransformMakeScale(0.5, 0.4);
④移動(向x方向偏移100,向y方向偏移80)
imageView.transform = CGAffineTransformMakeTranslation(100, 80);
4.UIImageView幻燈片功能
????NSMutableArray *imageArray = [[NSMutableArray alloc]init];
? ? UIImage *image1 = [UIImage imageNamed:@"150G153291P-I209.jpg"];
? ? UIImage *image2 = [UIImage imageNamed:@"銀雪壁紙電腦版1.jpg"];
? ? UIImage *image3 = [UIImage imageNamed:@"銀雪壁紙電腦版2.jpg"];
? ? UIImage *image4 = [UIImage imageNamed:@"銀雪壁紙手機版1.jpg"];
? ? [imageArray addObject:image1];
? ? [imageArray addObject:image2];
? ? [imageArray addObject:image3];
? ? [imageArray addObject:image4];
? ? UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, 300, 200)];
? ? imageView.animationDuration = [imageArray count];? //執(zhí)行周期,本例當中一張圖片一秒
? ? imageView.animationImages = imageArray;? ? //需要播放的圖片
? ? imageView.animationRepeatCount = 2;? ? //重復次數
? ? [self.view addSubview:imageView ];
? ? [imageView startAnimating];
5.一些知識點補充
????//陰影
? ? imageView.layer.shadowColor = [UIColor greenColor].CGColor;
? ? imageView.layer.shadowOffset = CGSizeMake(5, 5);
? ? imageView.layer.shadowOpacity = 0.5;
? ? //透明度
? ? imageView.alpha = 0.5;