关灯

本文介绍了一个名为 CloseLamp 的控制器实现细节,该控制器用于创建一个由 16 个按钮组成的网格布局,并实现了按钮点击时改变自身及其相邻按钮颜色的功能。每个按钮的状态改变会触发周围按钮的状态切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//

//  CloseLightController.m

//  UI_2_HomeWork

//

//  Created by 0101 on 13-7-26.

//  Copyright (c) 2013 PH. All rights reserved.

//


#import "CloseLamp.h"

#define KFrame(x,y,w,h) CGRectMake(x,y,w,h)


@implementation CloseLamp


-(void)loadView

{


    

    self.view = [[[UIView alloc]initWithFrame:KFrame(0, 0, 320, 480)]autorelease];//初始化根视图  或者[super alloc]

    self.view.backgroundColor = [UIColor orangeColor];

    

    int k = 1;

    for (int i = 0; i < 4; i++)

    {

        for (int j = 0; j < 4; j++)

        {

            UIButton  *btn = [UIButton buttonWithType:UIButtonTypeCustom];

            btn.frame = KFrame(i*65+10, j*65+10, 60, 60);

            btn.backgroundColor = [UIColor whiteColor];

            btn.tag = 1000+k;

            [btn addTarget:self action:@selector(changeStatus:) forControlEvents:UIControlEventTouchUpInside];

            [self.view addSubview:btn];

            k++;

            

        }

    }

}



-(void)changeStatus:(UIButton *)sender

{

    [self changeColor:sender];//当前按钮改变颜色

    

    //左按钮

    if (sender.tag % 4 != 1)

    {

        UIButton *btnLeft = (UIButton *)[self.view viewWithTag:sender.tag - 1];

        [self changeColor:btnLeft];

    }

    

    //右按钮

    if (sender.tag % 4 != 0)

    {

        UIButton *btnRight = (UIButton *)[self.view viewWithTag:sender.tag + 1];

        [self changeColor:btnRight];

    }

        

    //上按钮

    UIButton *btnUp = (UIButton *)[self.view viewWithTag:sender.tag - 4];

    [self changeColor:btnUp];

    

    //下按钮

    UIButton *btnBelow = (UIButton *)[self.view viewWithTag:sender.tag + 4];

    [self changeColor:btnBelow];  

}


-(void)changeColor:(UIButton *)sender

{

    if (sender.backgroundColor == [UIColor whiteColor])

    {

        sender.backgroundColor = [UIColor blackColor];

    }

    else

    {

        sender.backgroundColor = [UIColor whiteColor];

    }

}


-(void)viewDidLoad

{

    

}


-(void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

}

@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值