zoukankan      html  css  js  c++  java
  • 九宫格的实现(转)

    原文来自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—-

  • 相关阅读:
    真正的e时代
    在线手册
    UVA 10616 Divisible Group Sums
    UVA 10721 Bar Codes
    UVA 10205 Stack 'em Up
    UVA 10247 Complete Tree Labeling
    UVA 10081 Tight Words
    UVA 11125 Arrange Some Marbles
    UVA 10128 Queue
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/cherri/p/1808790.html
Copyright © 2011-2022 走看看