上节讲到开发了第一个弱智小应用,终于体会到iOS开发的小快乐的,下面继续深入一点点点点的学习,加个按钮试试吧。

首先网上随便把了一段代码,跟按钮有关的,虽然我现在看不懂他是干嘛的,但是跑一下就知道了(因为博主有Android开发的基础,认真看看还是看得懂的,因为iOS的代码都很规范,看命名就大概知道是干嘛的,但是还是假装看不懂,跑着来玩玩)

- (void) toggleButton: (UIButton *) button{if (isOn = !isOn){[button setTitle:@"On" forState:UIControlStateNormal];[button setTitle:@"On" forState:UIControlStateHighlighted];[button setBackgroundImage:baseGreen forState:UIControlStateNormal];[button setBackgroundImage:altGreen forState:UIControlStateHighlighted];}else{[button setTitle:@"Off" forState:UIControlStateNormal];[button setTitle:@"Off" forState:UIControlStateHighlighted];[button setBackgroundImage:baseRed forState:UIControlStateNormal];[button setBackgroundImage:altRed forState:UIControlStateHighlighted];}}- (void) viewDidLoad{float capWidth = 110.0f;baseGreen = [[[UIImage imageNamed:@"green.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];baseRed = [[[UIImage imageNamed:@"red.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];altGreen = [[[UIImage imageNamed:@"green2.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];altRed = [[[UIImage imageNamed:@"red2.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];// 创建UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];button.frame = CGRectMake(0.0f, 0.0f, 300.0f, 233.0f);button.center = CGPointMake(160.0f, 140.0f);// 设置aligment 属性button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//button.titleLabel.textAlignment = UITextAlignmentCenter;//设置title自适应对齐button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;// 设置颜色和字体[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];[button setTitleColor:[UIColor lightGrayColor] forState:UIControlStateHighlighted];button.titleLabel.font = [UIFont boldSystemFontOfSize:24.0f];// 添加 action[button addTarget:self action:@selector(toggleButton:) forControlEvents: UIControlEventTouchUpInside];//设置title[button setTitle:@"On" forState:UIControlStateNormal];[button setTitle:@"On" forState:UIControlStateHighlighted];//设置背景[button setBackgroundImage:baseGreen forState:UIControlStateNormal];[button setBackgroundImage:altGreen forState:UIControlStateHighlighted];// 用于测试的BOOLisOn = NO;// 把button放入view[self.view addSubview:button];}

代码贴到ViewController.m文件 里是跑不起来的,因为有些变量没有定义(isOn),又有些引用到的图片在资源文件里没有。

不过没关系,没有定于的就加上,没有的图片就注释掉,反正今天的目标就是跑起一个能按的按钮,按钮长什么样,按完之后有什么功能,明天再说吧

改完之后的代码:

bool isOn=1;@implementation ViewController
- (void) toggleButton: (UIButton *) button{if (isOn == 1){[button setTitle:@"On" forState:UIControlStateNormal];[button setTitle:@"On" forState:UIControlStateHighlighted];//[button setBackgroundImage:baseGreen forState:UIControlStateNormal];//[button setBackgroundImage:altGreen forState:UIControlStateHighlighted];isOn=0;}else{[button setTitle:@"Off" forState:UIControlStateNormal];[button setTitle:@"Off" forState:UIControlStateHighlighted];//[button setBackgroundImage:baseRed forState:UIControlStateNormal];//[button setBackgroundImage:altRed forState:UIControlStateHighlighted];isOn=1;}}
- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.float capWidth = 110.0f;//baseGreen = [[[UIImage imageNamed:@"green.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];//baseRed = [[[UIImage imageNamed:@"red.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];//altGreen = [[[UIImage imageNamed:@"green2.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];//altRed = [[[UIImage imageNamed:@"red2.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];// 创建UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];button.frame = CGRectMake(0.0f, 0.0f, 300.0f, 233.0f);button.center = CGPointMake(160.0f, 140.0f);// 设置aligment 属性button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;button.titleLabel.textAlignment = UITextAlignmentCenter;//设置title自适应对齐button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;// 设置颜色和字体[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];[button setTitleColor:[UIColor lightGrayColor] forState:UIControlStateHighlighted];button.titleLabel.font = [UIFont boldSystemFontOfSize:24.0f];//设置title[button setTitle:@"Off" forState:UIControlStateNormal];[button setTitle:@"Off" forState:UIControlStateHighlighted];//设置背景//[button setBackgroundImage:baseGreen forState:UIControlStateNormal];//[button setBackgroundImage:altGreen forState:UIControlStateHighlighted];// 添加 action[button addTarget:self action:@selector(toggleButton:) forControlEvents: UIControlEventTouchUpInside];// 把button放入view[self.view addSubview:button];  }

好了,这样就完成了一个最简单的按钮功能,按钮上显示一个off,点下去的时候off变成on,再点一下又变成off,循环。

当你按住这个按钮没有松开的时候,按钮上的字体还是灰色的。

iOS应用开发入门(2)——添加一个按钮相关推荐

  1. IOS 初级开发入门教程(四)基础控件使用小练习

    前言 看完前面3章的内容,基本对IOS开发有一些认识了,这章我们开始动手去实践做点小练习,学习如何创建并设置标签和按钮(Label & Button)的相关属性,以及通过一个交互式的案例演示动 ...

  2. android软键盘上添加一个按钮

    android软键盘上添加一个按钮: 第一种 我们在根布局的最底部添加一个按钮,利用布局中的ScrollView在软键盘弹出的时候 将底部的按钮挤压到软键盘上边,先看效果图: 看代码: <?xm ...

  3. AutoCAD二次开发三种添加插件按钮的方法

    在上一篇关于AutoCAD的文章中,我将很多关于CAD的博客相关资源进行了说明,这一篇文章我将介绍如何在AutoCAD中的ribbon中添加相应的按钮.就是下面这种按钮: PS:在开发中我们最好使用中 ...

  4. AutoCAD二次开发三种添加插件按钮的方法之二

    上一篇相关文章主要借助了cuix配置文件来制作插件按钮,但是对于纯码农来说还是喜欢以代码来说话,今天这篇文章就来讲讲纯代码添加按钮. 开发IDE:VS2010 环境:.Net Framework4.0 ...

  5. wxWidgets:编写一个应用程序 - 添加一个按钮

    wxWidgets:编写一个应用程序 - 添加一个按钮 wxWidgets:编写一个应用程序 - 添加一个按钮 wxWidgets:编写一个应用程序 - 添加一个按钮 感谢您阅读本教程至少到此为止.在 ...

  6. 编写Java程序,在屏幕上显示带标题的窗口,并添加一个按钮。当用户单击按钮时,结束程序。

    编写Java程序,在屏幕上显示带标题的窗口,并添加一个按钮.当用户单击按钮时,结束程序. package p3;import java.awt.event.ActionEvent; import ja ...

  7. iOS传感器开发——为APP添加手机密码、指纹进行安全验证

    iOS传感器开发--为APP添加手机密码.指纹进行安全验证 一.引言 iPhone5s之后,iPhone硬件上已支持进行指纹识别的功能,相应的,一些新的api也可以应用于APP中,进行用户安全的验证. ...

  8. iOS应用开发入门(1)——第一个iOS应用

    最近因为工作的原因,需要学习iOS应用开发. 本人现在在公司负责的是智能设备联网模块,所谓的智能设备联网,就是让一些智能设备(多半是没用屏幕的设备)连上wifi,因为没有屏幕,所以无法像手机和平板那样 ...

  9. IOS 初级开发入门教程(一)介绍篇

    导读 目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器.数据库.Android.web.ios开发等."一超多强"是指开发者先成为一门技术的专家然后掌 ...

  10. IOS 初级开发入门教学(一)介绍篇

    导读 目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器.数据库.Android.web.ios开发等.一超多强"是指开发者先成为一门技术的专家然后掌握了解多门技 ...

最新文章

  1. AI人必看!89页全网最全清华知识图谱报告
  2. DATAGRID学习
  3. NYOJ 674 善良的国王(树形背包DP)
  4. asp ed什么意思 j_这部洗脑ED动画是如何创作出来的?
  5. asp.net core 使用HttpClientFactory Polly实现熔断降级
  6. java环境变量设置详解_JAVA环境变量配置详解(Windows)
  7. generating phar.php,Generating
  8. java基础面试题之:super与this的区别
  9. virtualbox+vagrant学习-3-Vagrant Share-5-Security
  10. 【基础】优化背后的数学基础
  11. CentOS 6.3下Samba服务器的安装与配置【转载】
  12. 仿真工具-NC-Verilog使用教程
  13. 用js企业微信推送通知
  14. 计算机网络监控技术,实现网络流量监控的核心技术要求
  15. 2018年android常用的框架介绍
  16. nodeValue和nodeType
  17. java实现将多个word文档合并
  18. 课后作业——Day10
  19. 如何判断对象是否是垃圾
  20. 大学生网上卖鞋子,靠自己双手实现了财富梦

热门文章

  1. 记一次前端问题解决历程(Cannot read Property ‘call‘ of undefined)
  2. 使用Java创建内存泄漏
  3. 如何转换高度:0; 达到高度:自动; 使用CSS?
  4. 什么是C ++中的“-gt;”运算符?
  5. Propel项目改为基于TensorFlow.js
  6. Jedis连接redis
  7. [NIOS] 如何Erase EPCS flash內容
  8. 1001Freedownloads – 免费下载海量素材
  9. struts2.0实现文件上传
  10. VirtualCopy in WinCE6.0