• 九宫格的实现(转)


    原文来自http://www.ieliwb.com/iphone-nine-box/

    九宫格效果图:

    核心就这2个方法:

    //Power by ieliwb.com
    (void)viewDidLoad {
        
    [super viewDidLoad];
        
        
    NSArrayimageNames = [NSArray arrayWithObjects:
                                            @
    "ico_mobile.png"
                                            @
    "ico_idcard.png"
                                            @
    "ico_postcode.png",
                                            @
    "ico_flight.png"
                                            @
    "ico_translate.png",
                                            @
    "ico_phone.png"
                                            @
    "ico_car.png"
                                            @
    "ico_health.png"
                                            @
    "ico_bjxm.png"nil];
     
        
    UIButton *Btn;
        
    for (int i=0i<9i++) {
            
    CGRect frame;
            
    Btn = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
            
    [Btn setImage:[UIImage imageNamed:[imageNames objectAtIndexi]] forState:UIControlStateNormal];//设置按钮图片
            
            
    Btn.tag = i;
            
            
    frame.size.width = 59;//设置按钮坐标及大小
            
    frame.size.height = 75;
            
    frame.origin.x = (i%3)*(59+32)+40;
            
    frame.origin.y = floor(i/3)*(75+24)+40;
            
    [Btn setFrame:frame];
            
            
    [Btn setBackgroundColor:[UIColor clearColor]];
            
    [Btn addTarget:self action:@selector(btnPressed:)forControlEvents:UIControlEventTouchUpInside];
            
    [self.view addSubview:Btn];
            
    [Btn release];
            
        
    }
            
    }
     
    //响应按钮事件
    -
    (void)btnPressed:(id)sender{
        
    UIButton *Btn = (UIButton *)sender;
            
    int index = Btn.tag;
        
        
    switch (index) {
            
    case 0:
                
    if(mobileController==nil)
                    
    mobileController = [[MobileController alloc]init];
                
    [self.navigationController pushViewController:mobileControlleranimated:YES];
                
    break;
            
    //其他几个控制器类似
        
    }
     
    }

    九宫格背景修改可以这样实现:

    (void)loadView {
        
    UIImageView *contentView = [[UIImageView alloc] initWithFrame:[[UIScreenmainScreen] applicationFrame]];
        
    [contentView setImage:[UIImage imageNamed:@"subview_9_bg.png"]];
        
    [contentView setUserInteractionEnabled:YES];
        
    self.view = contentView;
        
    [contentView release];
    }

    UINavigationBar背景图片可以这样实现:

    @implementation UINavigationBar (CustomImage)
    (void)drawRect:(CGRect)rect {
        
    UIImage *image = [UIImage imageNamed: @"top_bg.png"];
        
    [image drawInRect:CGRectMake(00self.frame.size.width,self.frame.size.height)];
    }
    @
    end

    —-End—-

  • 相关阅读:
    [Typescript Challenges] 28. Medium Replace
    [Algorithm] Permutations
    [Typescript] 29. Medium ReplaceAll
    [RxJS] Share data among multiple subscribers with Subjects
    [Typescript] 30. Medium Append Argument
    P3386 【模板】二分图最大匹配
    AcWing 372. 棋盘覆盖
    AcWing 376. 机器任务
    AcWing 379 捉迷藏
    AcWing 378. 骑士放置
  • 原文地址:https://www.cnblogs.com/cherri/p/1808790.html
Copyright © 2020-2023  润新知