第一次發博客,還請大家多多指教!
首先說一下UIWindow,使用UIWindow來表示窗口,一般一個應用程序只創建一個UIWindeow的對象.它相當于一個地基,所有的其他的UI控件都是在它上面構成.
一 UIView
UIView代表屏幕上的一塊矩形區域,是一種視圖,iOS中所能看到的東西都是UIView或其子類.
1.創建UIView
開辟內存初始化,這里frame:后面是指創建的UIView的大小和位置,CGRect是一個結構體,它后面括號里的4個數字分別表示UIView的左上角(原點)的橫坐標,原點的縱坐標,UIView的寬,UIView的高
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
2.設置視圖的背景顏色
UIView.backgroudColor = [UIColor redColor];
3.將視圖加到父視圖上面
[self.window addSubview: view];
4.內存釋放
[view release];
5.視圖的一些其他操作
(1)獲取view的父視圖
UIView *view1 = [view superview];
(2)獲取window的所有子視圖
NSArray *arr = [self.window subviews];
(3)將子視圖放到最后面,父視圖是操作人,子視圖是被操作的
[self.window sendSubviewToBack:view];
同理,放到最前面為:
[self.window bringSubviewToFront:view];
(4)按下標交換2個視圖的位置
[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
(5)從父視圖中移除
[view removeFromSuperview];
(6)按下標在指定位置插入
[self.window insertSubview:cView atIndex:0];
在bView視圖前插入aView
[self.window insertSubview:aView aboveSubview:bView];
在cView后面插入aView
[self.window insertSubview:aView belowSubview:cView];
6.視圖的一些屬性
(1)重新設定視圖的frame,子視圖的原點的設定是相對于父視圖的原點而設定的,
view1.frame = CGRectMake(50, 50, 100, 100);
(2)視圖的中心點
view1.center = CGPointMake(30, 30);
(3)透明度,默認為1,改變它對其子視圖無影響
view.alpha = 0.5;
(4)將視圖隱藏,默認為NO
view1.hidden = YES;
(5)通過給子視圖貼標簽找到子視圖
在#import "AppDelegate.h"下宏定義:#define VIEWTAG 111
view.tag = VIEWTAG;
NSLog(@"%@", [self.window viewWithTag:VIEWTAG]);
7.為視圖的邊框進行一些設置
(1)邊框寬度
view.layer.borderWidth = 2;
(2)邊框顏色
view.layer.borderColor = [UIColor yellowColor].CGColor;
(3)使視圖的4角呈一定的弧度,若視圖為正方形,值為邊長的一半時視圖變成圓形
view.layer.cornerRadius = 40;
(4)使子視圖保留在父視圖的那部分(只是看不見,并不是真的消除)
view.clipsToBounds = YES;
二.UILabel
UILabel是UIView的子類,它除了有UIView的所有的功能外,最重要的是可以在上面加字
1.UILabel的創建
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(90, 300, 200, 50)];
label.backgroundColor = [UIColor redColor];
[self.window addSubview:label];
[label release];
清空背景顏色
label.backgroundColor = [UIColor clearColor];
2.(1)給label添加文本內容
label.text = @"我愛編程";
(2)字體顏色
label.textColor = [UIColor greenColor];
(3)對齊方式,默認是左對齊
label.textAlignment = NSTextAlignmentCenter; //中心對齊
label.textAlignment = NSTextAlignmentLeft;//文字靠左
label.textAlignment = NSTextAlignmentRight;//文字靠右
(4)字體大小
label.font = [UIFont systemFontOfSize:12];
改變字體類型和大小,name后所選的字體可到 http://iosfonts.com 去選
label.font = [UIFont fontWithName:@"BodoniOrnamentsITCTT" size:20];
label.font = [UIFont boldSystemFontOfSize:20]; // 字體加粗
(5)字體行數 若為0,則是當前文本顯示的最大行數
label.numberOfLines = 3;
(6)設置文字陰影尺寸與顏色
label.shadowOffset = CGSizeMake(1, 1);
label.shadowColor = [UIColor blackColor];
(7)換行模式
lineBreakMode :設置標簽文字過長時的顯示方式
label.lineBreakMode = NSLineBreakByTruncatingHead; // 前面部分文字以....方式省略,顯示尾部內容
label.lineBreakMode = NSLineBreakByTruncatingMiddle; // 中間部分文字以....方式省略,顯示頭尾內容
label.lineBreakMode = NSLineBreakByTruncatingTail; // 尾部部分文字以....方式省略,顯示前面內容
label.lineBreakMode = NSLineBreakByWordWrapping; // 以單詞為顯示單位顯示,后面部分省略不顯示
label.lineBreakMode = NSLineBreakByCharWrapping; // 以字符為顯示單位顯示,后面部分省略不顯示
label.lineBreakMode = NSLineBreakByClipping; // 剪切與文本寬度相同的內容長度,后半部分刪除
(8)根據文本寬度改變文字大小,用于文字多于label顯示長度時,此時文字會因為變小而全部顯示
label.adjustsFontSizeToFitWidth = YES;
(9)高亮
label.heighLighted = YES;
label.highlightedTextColor = [UIColor redColor]; // 設置高亮顏色
(10)如果設置為No,則文字顏色會變暗,表明其是不可用的,默認值為YES。
label.enabled = NO;
新聞熱點
疑難解答