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—-

  • 相关阅读:
    序列化与反序列化
    JAVA常用设计模式(一、抽象工厂模式)
    JAVA基础部分复习(七、JAVA枚举类型使用)
    JAVA常用设计模式(一、单例模式、工厂模式)
    JAVA高级篇(二、JVM内存模型、内存管理之第一篇)
    JAVA高级篇(一、JVM基本概念)
    linux常用命令
    JAVA基础部分复习(六、常用关键字说明)
    JAVA基础部分复习(五、JAVA反射)
    JAVA基础部分复习(三、泛型)
  • 原文地址:https://www.cnblogs.com/cherri/p/1808790.html
Copyright © 2011-2022 走看看