为视图加边框

通过层(layer),可以给视图增加边框和圆角等。比如类似下面的效果:

image

写法:

- (void)loadView { 
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation: UIStatusBarAnimationSlide]; 
    UIImageView *contentView = [[MyUIImageView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];  
    [contentView setImage:[UIImage imageNamed:@"1.jpg"]];  
    [contentView setUserInteractionEnabled:YES]; 
        
    self.view=[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 
    [self.view addSubview:contentView]; 
    self.view.backgroundColor=[UIColor blackColor]; 
    
    /* 
    CALayer *layer=[contentView layer]; 
    [layer setMasksToBounds:YES]; 
    [layer setCornerRadius:10.0]; 
    [layer setBorderWidth:4.0]; 
    */ 
    
    //为视图增加边框 
    contentView.layer.masksToBounds=YES; 
    contentView.layer.cornerRadius=20.0; 
    contentView.layer.borderWidth=10.0; 
    contentView.layer.borderColor=[[UIColor blueColor] CGColor]; 
    
    [contentView release]; 
    
}

主要看文字注释下面的四行代码。也可以用上面注释掉的代码写法,但没有后面通过属性设置简明。

要完成这些代码,需要引入QuartzCore库。在头文件中需要加入:

#import <QuartzCore/QuartzCore.h>

在xcode项目的Frameworks部分加入:

image

posted @ 2012-08-12 12:47  yingkong1987  阅读(172)  评论(0编辑  收藏  举报