博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发基础篇-Button基础
阅读量:5140 次
发布时间:2019-06-13

本文共 2196 字,大约阅读时间需要 7 分钟。

一、简单介绍

   UIButton 的功能:响应用户操作、显示文字、显示图片、调整内部图片和文字的位置。

 

二、 UIButton 的状态

   UIControlStateNormal :普通状态,为默认情况。

   UIControlStateHighlighted :高亮状态,按钮被按下去的时候(手指还未松开)。

   UIControlStateDisabled :不可用状态,此时 enabled 属性为 NO ,按钮不可以被点击。

 

三、注意点

  若干个空间共用一段代码,通过使用 tag 属性。

 

四、实例演示

  新建一个Single View Application,向Main.storyboard中添加按钮,如下所示:

  其中上移按钮的tag为1,下移按钮的tag为2,左移按钮的tag为3,右移按钮的tag为4,都与事件move建立连接。放大按钮的tag为0,缩小按钮的tag为1,都与事件zoom建立连接。

 

//ViewComtroller.m  1 #import "ViewController.h" 2  3 typedef NS_ENUM(NSUInteger, kMovingDir) 4 { 5     kMovingDirTop = 1, 6     kMovingDirButtom, 7     kMovingDirLeft, 8     kMovingDirRight, 9 };10 11 CGFloat const kMovingDelta = 50.0;      //移动系数12 CGFloat const kZoomingDelta = 50.0;     //放大缩小系数13 14 @interface ViewController ()15 @property (weak, nonatomic) IBOutlet UIButton *headImageView;   //可移动的图片按钮16 @end
//ViewController.m  1 - (IBAction)move:(id)sender { 2     UIButton *button = (UIButton *)sender; 3      4     CGPoint p = self.headImageView.center; 5     switch (button.tag) { 6         case kMovingDirTop: p.y -= kMovingDelta; break;  //往上移动 7         case kMovingDirButtom: p.y += kMovingDelta; break;  //往下移动 8         case kMovingDirLeft: p.x -= kMovingDelta; break; //往左移动 9         case kMovingDirRight: p.x += kMovingDelta; break; //往右移动10     }11     12     [UIView beginAnimations:nil context:nil];13     [UIView setAnimationDuration:2.0];14     self.headImageView.center = p;15     [UIView commitAnimations];16 }17 18 - (IBAction)zoom:(id)sender {19     UIButton *button = (UIButton *)sender;20     21     CGRect rect = self.headImageView.bounds;22     if (button.tag) {23         rect.size.width -= kZoomingDelta;24         rect.size.height -= kZoomingDelta;25     } else {26         rect.size.width += kZoomingDelta;27         rect.size.height += kZoomingDelta;28     }29     30     [UIView beginAnimations:nil context:nil];31     [UIView setAnimationDuration:2.0];32     self.headImageView.bounds = rect;33     [UIView commitAnimations];34 }

 

五、补充

1、修改对象的结构体成员

  在OC中,不允许直接修改对象的结构体属性的成员,但是允许修改对象的结构体属性。

  修改结构体属性的成员方法如下:

  1)使用临时变量记录对象的结构体属性,

  2)修改临时变量的属性;

  3)将临时变量重新设置给对象的结构体属性。

 

参考博客:

本部分iOS代码:

转载于:https://www.cnblogs.com/wjq-Law/p/5093522.html

你可能感兴趣的文章
Python爬虫设置Headers
查看>>
Mysql Java 驱动安装
查看>>
使用css3中calc()进行自适应布局
查看>>
ADA程序实例(运算符重载)
查看>>
【HDU5730】Shell Necklace(多项式运算,分治FFT)
查看>>
【LOJ#6041】事情的相似度(后缀自动机)
查看>>
【BZOJ5298】[CQOI2018]交错序列(动态规划,矩阵快速幂)
查看>>
数据库基础和断点调试
查看>>
git简单使用教程
查看>>
反射设置当前窗体所有控件的Text
查看>>
python之路--day15---软件开发目录规范
查看>>
多文件上传并表单提交
查看>>
flutter基础
查看>>
37.VUE学习之-表单的综合运用
查看>>
Git常用命令行操作
查看>>
快速写出main方法和system.out.print()
查看>>
完美解决ios4与ios5输入框随键盘移动问题
查看>>
蓝桥杯 算法提高 找素数
查看>>
谈在一个将TXT按章节分割的PHP程序中的收获
查看>>
sun.misc.Unsafe
查看>>