iOS UI基础-1.1按钮操作与形变

按钮状态

1.normal:默认状态 Default

对应的枚举常量:UIControlStateNormal

2.highlighted(高亮状态)

按钮被按下去的时候(未松开)

对应的枚举常量:UIControlStateHighlighted

3.disabled(失效状态,不可用状态)

如果enable属性为NO,就是处于disabled状态,代表按钮不可被点击

对应的枚举常量:UIControlStateDisabled

上下左右操作,思路:

1.给每个操作增加一个Tag值

2.根据tag值,来判断点击的是那个button

/**
 frame属性,通常用于实例化控件,指定初始位置

 如果需要改变控件位置,可以使用center属性
 如果需要改变控件大小,可以使用bounds属性
 */
- (IBAction)move:(UIButton *)button
{
    // 提示,也可以通过center修改位置,可以课后练习
    CGPoint center = self.iconButton.center;

    // 2. 根据按钮的类型tag,判断移动的方向,再修改结构体的成员
    // magic number魔法数字
    switch (button.tag) {
        case kMovingDirTop:        // 上
            center.y -= 10.0f;
            break;
        case kMovingDirBottom:        // 下
            center.y += 10.0f;
            break;
        case kMovingDirLeft:        // 左
            center.x -= 10.0f;
            break;
        case kMovingDirRight:        // 右
            center.x += 10.0f;
            break;
    }

    // 3. 重新为对象的结构体属性赋值
    self.iconButton.center = center;

    NSLog(@"%@", NSStringFromCGRect(self.iconButton.frame));
}

transform使用

1.位置移动

// 向上移动
- (IBAction)top:(UIButton *)sender {
    // 1.transform是相对于初始状态的一种状态,但是其实self.head.frame.origin的值已经被改变了
//    self.head.transform = CGAffineTransformMakeTranslation(0, self.head.transform.ty - 20);

    // 2.使用原有的transform生成新的transform
    self.head.transform = CGAffineTransformTranslate(self.head.transform, 0, -20);
}

2.尺寸变化

 // 缩小
 - (IBAction)narrow:(UIButton *)sender {
    // 缩小20%
     self.head.transform = CGAffineTransformScale(self.head.transform, 0.8, 0.8);
 }

3.旋转

/** 旋转 */
- (IBAction)rotate:(UIButton *)button
{
    // 在OC的开发中,关于角度统一都使用弧度值,逆时针是负值,顺时针是正值
    // 180° = M_PI
    CGFloat angle = (button.tag) ? -M_PI_4 : M_PI_4;

    [UIView beginAnimations:nil context:nil];
    self.iconButton.transform = CGAffineTransformRotate(self.iconButton.transform, angle);
    [UIView commitAnimations];

}
时间: 2024-10-13 11:19:12

iOS UI基础-1.1按钮操作与形变的相关文章

iOS UI基础-8.0 UIAlertView使用

弹出框的使用 1.实现代理UIAlertViewDelegate 2.弹出框 // 弹框初始化 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"数据展示" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; // 设置对话框的类型 alert.alertViewStyle

iOS UI基础-1.0加法计算器

1.打开Xcode,新建一个项目 2.Single View Application是最适合初学者的模板 3.填写该应用相关信息 4.搭建UI界面 项目创建完毕后,自动帮我们做了很多配置,也自动生成了很多文件 还自动添加了开发所依赖的框架 项目中这么多文件,哪些是影响着UI界面的呢?在iOS5之前,苹果使用xib文件来描述UI界面,在iOS5之后,苹果采取了更加强大和先进的storyboard文件来描述界面(Xcode5是基于iOS7的)因此,可以得出结论:修改项目中的Main.storyboa

IOS UI基础04

动画 1.头尾式动画 动画开始 [UIView beginAnimations:nil context:nil]; 设置动画时间 [UIView s ! etAnimationDuration:3]; [UIView setAnimationDelegate:self]; 只要写在开始和结束之间的代码, 就会被执行动画 但是: 并不是所有的代码都能够执行动画 只有属性声明中说明了是animatable的属性,才可以执行UIView动画 CGRect tempFrame2 = self.hudLa

Ios UI基础02

UIView 继承于UIView的控件都可以添加子控件 属性 superview 谁调用superview, 那么获取的就是谁的父控件 subviews subviews是用于获取所有的子控件 谁调用subviews, 那么就是获取谁的子控件 方法 removeFromSuperview 从父控件中移除,谁调用就移除谁 addSubview 添加到父控件中,谁调用就将子控件添加到谁 UILabel 文本控件 继承UIView 属性 @property(nonatomic) NSInteger n

iOS UI基础01

控制器 1.什么是控制器: 任何继承于UIViewController的类, 都称之为控制器 2.控制器的作用: 管理UI界面(负责管理UI界面的创建和一些事件的处理) IBAction 连线方式 1.从"控制器"往"Storyboard"连线 2.从"Storyboard"往"控制器"连线 3.直接在"Storyboard"中往"Storyboard"上的界面顶部连线 4.直接在&qu

iOS UI基础-6.0 UIActionSheet的使用

UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件. 使用 1.需要实现UIActionSheetDelegate  协议 @interface NJWisdomCardDetailViewController ()<UIActionSheetDelegate> @end 2.弹出选择按钮框 - (void)showSheet{ UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitl

iOS UI基础控件之UIImageView

一.UIImageView和UIImage UIImageView是iOS中用于显示图片的类,UIImage是用于存储图片数据的类:iOS中几乎所有看到的图片数据都存储在UIImage中,同时所要的图片都是用UIImageView来显示:UIImageView和UIImage关系如下图: 二. 创建UIImageView的两种方式 1.自己设置图片位置和尺寸 "` UIImageView *iv = [[UIImageView alloc] init]; //创建的图片, 没有默认的宽高 iv.

IOS UI基础07

TableView 属性 // 设置每一行cell的高度 @property (nonatomic)CGFloat rowHeight; // 设置每一组头部的高度 @property (nonatomic)CGFloat sectionHeaderHeight; // 设置分割线颜色 @property (nonatomic, retain) UIColor *separatorColor // 设置表头控件 @property (nonatomic, retain) UIView *tabl

iOS UI基础-16.0 UIButton

回归自然,UIButton是我们使用最频烦的一个控件.下面,对该控件的一些常用方法进行一些总结. UIButton *payStateBtn = [UIButton buttonWithType:UIButtonTypeCustom]; payStateBtn.frame = CGRectMake(12, 10, ScreenWidth - 50, 22); // 设置字体居中方向 payStateBtn.contentHorizontalAlignment = UIControlContent