UI 02 UIButton

UIButton 继承于 UIControl , UIControl 继承于 UIView.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor purpleColor];
    [self.window makeKeyAndVisible];
    [self.window release];

// 创建一个UIButton
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.frame = CGRectMake(150, 100, 80, 80)
    ;
    button.backgroundColor = [UIColor whiteColor];
    [self.window addSubview:button];

    [button setTitle:@"确认" forState:UIControlStateNormal];
    button.titleLabel.font = [UIFont systemFontOfSize:25];

    button.layer.cornerRadius = 8;
    button.layer.masksToBounds = YES;
    [button addTarget:self action:@selector(changePic:) forControlEvents:UIControlEventTouchUpInside];
    button.tag = 1000;
    self.isSelected = YES;
    // 给Button设置背景图片
    [button setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];

    UIButton  *buttontwo  = [UIButton buttonWithType:UIButtonTypeCustom];
    buttontwo.frame = CGRectMake(150, 220, 80, 80);
    [self.window addSubview:button1];

  //  buttontwo.layer.cornerRadius = 8;
 //   [buttontwo setTitle:@"测试" forState:UIControlStateNormal];
 //   buttontwo.titleLabel.font = [UIFont systemFontOfSize:10];
    [buttontwo addTarget:self action:@selector(changeImage:) forControlEvents:UIControlEventTouchUpInside];
    buttontwo.tag = 1001;

    // 设置前景图片
    [buttontwo setImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
    self.isClick = NO;

    return YES;
}

- (void)click:(UIButton *)button{
//谁触发了按钮,相应的button就是那个对象.

    // 1.不管按谁,只修改的是tag是1000按钮的内容

    UIButton *but = (UIButton *)[self.window viewWithTag:1000];
    // 判断当前按钮的标题
    //currentTitle -- 获取当前按钮标题.

   if ([but.currentTitle compare:@"确认"] == 0) {
        [but setTitle:@"取消" forState:UIControlStateNormal];
    }else{
        [but setTitle:@"确认" forState:UIControlStateNormal];
 }
 // 打印出button当前的标题.
     NSLog(@"%@",but.currentTitle);

    //2.按哪个按钮,哪个按钮的内容就会改变
    if ([button.currentTitle isEqualToString:@"确认"]) {
       [button setTitle:@"取消" forState:UIControlStateNormal];
   }else{
        [button setTitle:@"确认" forState:UIControlStateNormal];
   }
    NSLog(@"%ld",button.tag);

定义一条 @property(nonatomic, assign)BOOL isSelected; 的属性
// 更换按钮的背景图方法.
- (void)changePic:(UIButton *)button{
    //判断
    if (self.isSelected) {
        [button setBackgroundImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
    }else{
        [button setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
    }
    // 最后别忘了把当前的状态进行调整.
    self.isSelected = !self.isSelected;

    if ([button.currentTitle isEqualToString:@"确认"]) {
        [button setTitle:@"取消" forState:UIControlStateNormal];
    }else{
        [button setTitle:@"确认" forState:UIControlStateNormal];
    }
}
}

定义一条@property(nonatomic, assign)BOOL isClick;的属性.
- (void)changeImage:(UIButton *)button{
    //更换前景图片
    if (self.isClick) {
        [button setImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
    }else{
        [button setImage:[UIImage imageNamed:@"BtnOn.png"] forState:UIControlStateNormal];
    }
    self.isClick = !self.isClick;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 03:50:49

UI 02 UIButton的相关文章

[UI基础]UIButton

UIButton继承关系如下: UIButton-->UIControl-->UIView-->UIResponder-->NSObject 1.创建一个UIButton对象 UIButton提供了如下类方法来创建一个指定类型的UIButton对象 1 + (void)buttonWithType:(UIButtonType)buttonType UIButtonType是一个枚举类型 1 typedef enum{ 2 UIButtonTypeCustom = 0; //此属性表

iOS开发UI之UIButton的基本使用

一. 继承关系: UIButton --> UIControl --> UIView 二. 什么是按钮 UIButton既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 三. UIButton的状态 UIControlStateNormal : 默认状况 UIControlStateHighlighted : 高亮状态(按钮被按下去的时候,既为手指还未松开) UIControlStateDisabled : 失效状态,不可用状态 如果enable = NO,处于disable状态,

UI 03 UIButton 和 UITextField

可以将UIButton 与 UITextField 结合起来使用, 产生如下图的效果. // 新建一个Button UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; button.frame = CGRectMake(100, 300, 50, 50); button.backgroundColor = [UIColor cyanColor]; [self.window addSubview:button]; but

UI基础--UIButton、懒加载

UIButton UIButton,按钮,可以显示图片和文字,并在点击后,可以进行相应的操作的一个控件. UIButton有三个状态:普通(normal).高亮(highlighted).失效(disabled); 其中normal状态是默认状态,highlighted是按下按钮但还没松开时的状态,失效状态其实就是不可用状态.在设置高亮状态时,把按钮的类型改成custom,即可选择. 如果同一个按钮共同使用一个方法时,可使用它的tag属性. 1 //指定button的位置和大小 2 3 butt

IOS之UI -- 按钮UIButton的细节

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

UI基础:UIButton.UIimage

UIButton是ios中用来响应用户点击事件的控件.继承自UIControl 1.创建控件 UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom]; 2.设置属性 (1).为按钮上颜色 button.backgroundColor=[UIColor yellowColor]; (2).为按钮设置大小 button.frame=CGRectMake(20, 100, 280, 50); (3)为按钮设置样式 [button se

基础UI<02>

本来想把做过的例子复述一遍,奈何时间太有限了. MVC,这个念叨多遍的设计模式,通过做了一个微博的浏览界面才深有体会.去年刚参加工作,也是做一个类似于此的东西,做了好久.在ViewController中,计算cell的高度,而且计算了两遍,把填充Cell数据的内容也放在了ViewController中.现在想想,真是有点傻!现在开始封装一个方法,在ViewController把数据传给Cell中去. 一开始入行的时候,感觉走了很多弯路.拖控件布局,对于初学者,可能真不是一件好事情.很多里面细节性

cocos2dx -- 学习笔记 利用UIButton制作虚拟按键

今天,继续完善自己的小DEMO,要加入一些虚拟按键,首先是,上下左右方向键. 这里需要实现,按下持续走,松开则停止的效果. 尝试着用CCMenuImage做,可惜CCMenuImage只支持按下再弹起后,的事件处理.无法对按下到抬起之间的这段时间进行控制. UIButton刚好可以满足这个需求. UIButton是cocos2dx扩展里的UI控件类, 派生自Widget. 使用方法和CCMenuImage类似, 每个UI控件必须放在一个UILayer中,也就是说,UILayer就是UI控件的容器

ui-grid 网格布局--jQueryMobile

效果: HTML: <div data-role="content" class="content"> <div class="ui-grid-c pro-info"> <div class="ui-block-a"> <img src="../../Content/IMG/UI/01.png" /> <p>网格布局</p> </