在AppDelegate中开始,为了自己更深入的理解iOS的内存管理机制,选用MRC机制
1.创建windows并填色
self.window =[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
[self.window setBackgroundColor:[UIColor blackColor]];
[self.window makeKeyAndVisible];
[self.window release ];
[self.window setBackgroundColor:[UIColor blackColor]];
[self.window makeKeyAndVisible];
[self.window release ];
2.在window里添加色块(b 添加到windows,a添加到b)
建立一个原点相对于window是(50,50)大小是200*200的视图b,定义颜色为:blueColor
UIView *b =[[UIView alloc]initWithFrame:CGRectMake(50, 50, 200, 200)];
[b setBackgroundColor:[UIColor blueColor]];
[self.window addSubview:b];
[b release];
建立一个原点相对于b是(50,50)大小是100*100的视图a,定义颜色为:blueColor
[b setBackgroundColor:[UIColor blueColor]];
[self.window addSubview:b];
[b release];
建立一个原点相对于b是(50,50)大小是100*100的视图a,定义颜色为:blueColor
UIView *a =[[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
[a setBackgroundColor:[UIColor yellowColor]];
[b addSubview:a];
[a release];
[a setBackgroundColor:[UIColor yellowColor]];
[b addSubview:a];
[a release];
效果图:
3.求边界,中心点,修改中心点
求出视图a相对于b的位置(原点,大小) 以及a的中心点坐标
NSLog(@"%@",NSStringFromCGRect(a.bounds));
NSLog
(
@"x = %g,y = %g"
,a.
center
.
x
,a.
center
.
y
);
a.
center
=
CGPointMake
(
50
,
50
);
aView
的宽
高
NSLog(@"aview的宽=%f",aView.bounds.size.width);
NSLog(@"aview的高=%f",aView.frame.size.height);
NSLog(@"aview的高=%f",aView.frame.size.height);
效果:
4.对视图进行管理
- (void)subViewsOfSuperView{ //窗口视图管理
// 先建立多个视图
UIView *a =[[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
[a setBackgroundColor:[UIColor cyanColor]];
[self.window addSubview:a];
UIView *b =[[UIView alloc]initWithFrame:CGRectMake(75, 75, 100, 100)];
[b setBackgroundColor:[UIColor blueColor]];
[self.window addSubview:b];
UIView *c =[[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
[c setBackgroundColor:[UIColor greenColor]];
[self.window addSubview:c];
NSArray *array = self.window.subviews;
UIView *myView =[array firstObject]; // 原来的a
[myView setBackgroundColor :[ UIColor redColor ]];
[ self . window addSubview :myView]; // 将 myView 重新添加到 window( 最上面 )
[ self . window bringSubviewToFront :myView]; // 将 myView 添加到 window 上所有视图最上面
[ self . window sendSubviewToBack :myView]; // 将 myView 添加到 window 上所有视图最下面
// 先建立多个视图
UIView *a =[[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
[a setBackgroundColor:[UIColor cyanColor]];
[self.window addSubview:a];
UIView *b =[[UIView alloc]initWithFrame:CGRectMake(75, 75, 100, 100)];
[b setBackgroundColor:[UIColor blueColor]];
[self.window addSubview:b];
UIView *c =[[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
[c setBackgroundColor:[UIColor greenColor]];
[self.window addSubview:c];
NSArray *array = self.window.subviews;
UIView *myView =[array firstObject]; // 原来的a
[myView setBackgroundColor :[ UIColor redColor ]];
[ self . window addSubview :myView]; // 将 myView 重新添加到 window( 最上面 )
[ self . window bringSubviewToFront :myView]; // 将 myView 添加到 window 上所有视图最上面
[ self . window sendSubviewToBack :myView]; // 将 myView 添加到 window 上所有视图最下面
[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:2]; // 调换数组array下表是:0和和下标是:2的视图的位置(层次)
[b removeFromSuperview]; // 将b从他的父视图上移除
[a
release
];
[b
release
];
[c release ];
[myView release ];
}
[c release ];
[myView release ];
}
5.视图的基本属性
b.
hidden
=
NO
;
// b
的显示
(NO)
和隐藏
(YES)
b.
alpha
=
0.9
;
// b
的透明度
0~1(
数越大越不透明
)
UIView
*f =[b
superview
];
// 获得b的父视图f
NSArray *f= [self.window subviews]; // 获得父视图self.window的所有子视图放置到数组f内
b.tag = 50; // 将b编号50
UIView *d =[self.window viewWithTag:50]; // 在b的父视图(self.window)中找到编号为50的视图
6.视图文本
- (void)label{
UILabel *a =[[UILabel alloc]initWithFrame:CGRectMake(50, 50, 50, 400)];
[a setBackgroundColor:[UIColor cyanColor]];
a.text =@"jkasfhikhgisutrhegdfijggiaodpgh"; // 添加的字符串
a.font = [UIFont boldSystemFontOfSize:20]; // 添加的字体大小
a.textColor =[UIColor redColor]; // 添加字体的颜色
a.textAlignment =NSTextAlignmentLeft ;// 左对齐
a.numberOfLines = 10; // 显示的行数 (0时全部显示,默认为1)
[a sizeToFit]; // 自适应行数
[_window addSubview:a];
[a release];
}
UILabel *a =[[UILabel alloc]initWithFrame:CGRectMake(50, 50, 50, 400)];
[a setBackgroundColor:[UIColor cyanColor]];
a.text =@"jkasfhikhgisutrhegdfijggiaodpgh"; // 添加的字符串
a.font = [UIFont boldSystemFontOfSize:20]; // 添加的字体大小
a.textColor =[UIColor redColor]; // 添加字体的颜色
a.textAlignment =NSTextAlignmentLeft ;// 左对齐
a.numberOfLines = 10; // 显示的行数 (0时全部显示,默认为1)
[a sizeToFit]; // 自适应行数
[_window addSubview:a];
[a release];
}
/* NSArray *family =[UIFont familyNames];
NSLog(@"%@",family);
NSArray *fontName =[UIFont fontNamesForFamilyName:@"Palatino"];
NSLog(@"%@",fontName);
UIFont *font =[UIFont fontWithName:@"Palatino-Italic" size:40];
la.font =font; 各种字体加字号 */
NSLog(@"%@",family);
NSArray *fontName =[UIFont fontNamesForFamilyName:@"Palatino"];
NSLog(@"%@",fontName);
UIFont *font =[UIFont fontWithName:@"Palatino-Italic" size:40];
la.font =font; 各种字体加字号 */