IOS-UI基础-按钮扩展

按钮的状态

Default 普通/默认状态

Highlighted 高亮状态

如果按钮被点击, 就会自动的切换到高亮状态

Selected 选中状态

通过设置 selected = YES 的时候表示按钮被选中

Disabled 禁用状态

通过设置  enabled = NO 表示禁用状态, 一旦被禁用, 就不会响应任何点击事件

backgroundImage 按钮有多大, 图片就会显示多大

image  图片有多大, 按钮就会被撑到图片的大小

如果同时设置了 tile  backgroundImage : 文字 显示到  图片的正上方

如果同时设置了 title  image     : 图片在左侧, 文字在右侧

如果设置 button 的 title , image , backgroundImage 的时候, 一定要分状态设置

坐标系概念

frame : 是控件以父view的左上角 为坐标原点 

bounds : 是控件以自身的左上角为坐标原点, 一般 x = 0, y = 0

center : 是控件以父view的左上角为坐标原点 x, y 

不能直接修改对象的结构体的成员变量

通过复制 粘贴得到控件, 需要把之前的连线给清除掉

// 使用这种方式定义枚举

typedef NS_ENUM(NSInteger, ZBDirection) {

    ZBDirectionUp,

    ZBDirectionDown,

    ZBDirectionLeft,

    ZBDirectionRight

};

//**********************

两种动画方式

1. 首尾式动画

// 开始动画

     [UIView beginAnimations:nil context:nil];

     // 执行动画的操作

     

     // Duration 持续时间

     #warning  要放到执行动画操作代码的前面才会生效

     [UIView setAnimationDuration:0.5];

     

     self.zbButton.frame = tempFrame;

     

     // 提交动画

     [UIView commitAnimations];

     2. block 动画 (重点掌握 block动画)

     [UIView animateWithDuration:0.5 animations:^{

        // 放置 执行动画的操作

        self.zbButton.frame = tempFrame;

    }];

button的实例化方式

  buttonWithType:

     

     initWithFrame: UI控件独有的实例化方法

     init : 所有的对象 都具有的实例化方法

为button设置背景图片

IImage *image = [UIImage imageNamed:@"btn_01"];

    

[button setBackgroundImage:image forState:UIControlStateNormal];

/**

     button : 要添加监听方法的按钮

     Target : 监听者

     action : 当按钮被点击的时候监听者要执行的方法

     forControlEvents : 触发点击的 事件

     */

    [button addTarget:self

               action:@selector(didClickButton:)

     forControlEvents:UIControlEventTouchUpInside];

stroryboard : 隐藏了很多细节

纯代码 : 可以很方便的做修改及调试

原文地址:https://www.cnblogs.com/DreamLinku/p/5389334.html