iOS App 制作UI学习笔记

在AppDelegate中开始,为了自己更深入的理解iOS的内存管理机制,选用MRC机制


1.创建windows并填色

self.window =[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
    [
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(5050200200)];
    [b 
setBackgroundColor:[UIColor blueColor]];
    [
self.window addSubview:b];
    [b 
release];
    建立一个原点相对于b是(50,50)大小是100*100的视图a,定义颜色为:blueColor
    UIView *a =[[UIView alloc]initWithFrame:CGRectMake(5050100100)];
    [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);
效果:

 

4.对视图进行管理
- (void)subViewsOfSuperView{     //窗口视图管理
    
// 先建立多个视图
    
UIView *a =[[UIView alloc]initWithFrame:CGRectMake(5050100100)];
    [a 
setBackgroundColor:[UIColor cyanColor]];
    [
self.window addSubview:a];
    
UIView *b =[[UIView alloc]initWithFrame:CGRectMake(7575100100)];
    [b 
setBackgroundColor:[UIColor blueColor]];
    [
self.window addSubview:b];
    
UIView *c =[[UIView alloc]initWithFrame:CGRectMake(100100100100)];
    [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 ];
}

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(505050400)];
    [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;        
各种字体加字号  */


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值