本文实现的是一个不用拖控件,而是用代码写出一个按钮,然后点击弹出一个警告信息,有人问那么好的IB工具不用却去苦逼的写代码呢?因为IB高度集成开发工具,拖出的控件帮我省了很大麻烦,这个过程农民工也可以干,但是作为初学者,IB是个比较高层的东西,我们是不是应该了解一下IB底层的东西呢,如果一味追求方便快捷,哪天突然有人问怎么用代码写出来,咱岂不是要被鄙视了;所以吧,初学者不要学懒,多写代码提高我们的编程能力,当我们在开发项目或者在公司工作去用IB,来帮我们节省时间提高效率;

初始化视图代码,绘制了一个距原点(100,100)的140x50像素的按钮,有一点需要注意的是iphone的远点坐标是在左上角,屏幕640x480像素,不过现在用个是Retina分辨率,画质更加细腻;

- (void)viewDidLoad
{    [super viewDidLoad];//    设置按钮类型,此处为圆角按钮UIButton *writeButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];//    设置和大小CGRect frame = CGRectMake(100.0f, 100.0f, 140.0f, 50.0f);//    将frame的位置大小复制给ButtonwriteButton.frame = frame;//-----------------------------------------------//  给Button添加标题  [writeButton setTitle:@"代码按钮" forState:UIControlStateNormal];//   设置按钮背景颜色 writeButton.backgroundColor = [UIColor clearColor];//  设置按钮标题文字对齐方式,此处为左对齐writeButton.contentHorizontalAlignment =UIControlContentHorizontalAlignmentLeft;//使文字距离做边框保持10个像素的距离。writeButton.contentEdgeInsets = UIEdgeInsetsMake(0,30, 0, 0);
//----------------------------------------------------/******************************************************   //此处类容目的掩饰代码代码操作按钮一些属性,如果设置按钮背景为图片可以将此处注释取消,注释掉上没横线范围类代码,进行测试//    设置按钮背景图片UIImage *image= [UIImage imageNamed:@"background.png"];[writeButton setBackgroundImage:image forState:UIControlStateNormal];//  按钮的相应事件  *****************************************************/[writeButton addTarget:self action:@selector(buttonClicked:)forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:writeButton];
}
UIButton *writeButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

设置按钮类型,按钮类型定义在一个枚举类型中

typedef enum {UIButtonTypeCustom = 0,       // 没有风格UIButtonTypeRoundedRect,        // 圆角风格按钮UIButtonTypeDetailDisclosure, // UIButtonTypeInfoLight,      // 明亮背景的信息按钮UIButtonTypeInfoDark,      // 黑暗背景的信息按钮UIButtonTypeContactAdd,        //} UIButtonType;

截图是每个按钮对应枚举类型中的风格,

   

但是考虑的ios开发中,为了界面美观一般设置背景图片,代替按钮的标题设置,此处推荐一个所搜icon的网址,里面有基本用的icon素材,个人觉得不错,给分享下

http://www.easyicon.cn/点击打开链接;

在点击按钮是按钮是凹下去,然后弹起才触发起事件,按钮的状态有:

UIControlEventTouchDown      // 按下   UIControlEventTouchDownRepeat  // 多次按下  UIControlEventTouchDragInside   // 保持按下然后在按钮及其一定的外围拖动UIControlEventTouchDragOutside  // 保持按下,在按钮外面拖动UIControlEventTouchDragEnter  // DragOutside进入DragInside触发UIControlEventTouchDragExit  // in到out触发UIControlEventTouchUpInside // 在按钮及其一定外围内松开UIControlEventTouchUpOutside // 按钮外面松开UIControlEventTouchCancel   // 点击取消
//弹出一个警告,一般都这样写
-(void) buttonClicked:(id)sender
{UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你点击了一个按钮" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alert show];
}

此处弹出的一个警告,主要用到UIAlertView这个类,initWithTitle初始化标题,message是弹出警告类容,提示你做了什么事,delegate是委托代理,此处不需要其他类做什么事,自个完全能搞定,所以设置为self,类似于C++中的this指针,cancelButtonTitle这个一看就能明白,取消按钮的标题是什么了,otherButtonTitles设置其他按钮,也就是说你需要更多按钮支持的时候,此处不需要,只要一个nil就好了,就如还需要其他的,你可以添加代码假如: otherButtonTitles:@"test1" ,@"test2" ,@"test3" ,@"test4" , nil,运行的效果就是这样:

本程序运行效果:

  

本想把源代码报给附上,发现csdn博客尽然没有附件上传选项,哎哎 ,把链接地址弄上:http://download.csdn.net/detail/duxinfeng2010/4393874

ios 代码写Button小结相关推荐

  1. iOS 代码触发button点击事件

    为什么80%的码农都做不了架构师?>>>    [self.xxBtn sendActionsForControlEvents:UIControlEventTouchUpInside ...

  2. IOS代码实现常用控件UIButton、UISlider、UISwitch、UISegmentedControl

    IOS中最常用到的控件UIButton.UISlider.UISwitch.UISegmentedControl通过Xib文件拖动生成非常简单,其实用代码实现也是一样的简单,当然,用代码实现能够掌握到 ...

  3. iOS代码规范和开发模式

    来源:吴白(@吴白_____ ) 链接:http://www.jianshu.com/p/834f5a824aee 从代码看一个程序员的笔力 从代码的整洁度上就可以看出一个程序员的实力,规范其实就是让 ...

  4. 代码写对了还挂了?程序媛小姐姐从 LRU Cache 带你看面试的本质

    来源 | 码农田小齐 责编 |  Carol 前言 在讲这道题之前,我想先聊聊「技术面试究竟是在考什么」这个问题. 技术面试究竟在考什么 在人人都知道刷题的今天,面试官也都知道大家会刷题准备面试,代码 ...

  5. 3行代码写出8个接口,开挂了?

    欢迎关注方志朋的博客,回复"666"获面试宝典 肯定有不少人会想:这怎么可能呢? 就算用几乎零配置的 SpringBoot,写一个最简单的接口也得有 3 行代码啊! @Reques ...

  6. iOS代码编程规范 根据项目经验汇总

    带出几十位从零开始学iOS的实习生或试用期的开发人员后,觉得真的是千人千面,每个人写的代码都风格迥异,如果没有一个文档规范,每次都和新人进行口头的说教,大概自己是不用敲代码了,所以吃了亏了就开始编写i ...

  7. 几个步骤,让你的 iOS 代码容易阅读

    本文翻译自 Making your iOS application easy to read with these simple steps. 优秀的程序员会用尽可能简单的方式来解释他们的代码,即使是 ...

  8. 发现自己的代码写的越来越玄幻了

    //_________________________________________________// //      Description :   发现自己的代码写的越来越玄幻了        ...

  9. Appium+python自动化(三十二)- 代码写死一时爽,框架重构火葬场 - PageObject+unittest(超详解)...

    简介 江湖有言:"代码写死一时爽,框架重构火葬场",更有人戏言:"代码动态一时爽,一直动态一直爽?",虽然听起来有点耸人听闻,但也没有想象中的那么严重,我们在开 ...

  10. 写代码写到70岁,是一种什么样的体验?

    点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 你听说过年纪最大的程序员,今年多少岁了? 鹅厂马化腾,1971年出生,今年50岁 小米ceo雷军,1969年出生,今年52岁 金山软件创始 ...

最新文章

  1. 计算机信息系统安全管理制度
  2. pythonlist特性_python 高级特性:List Comprehensions(列表生成式)
  3. jQuery学习笔记(简介,选择器)
  4. coding note-源码搜索
  5. Win8装SQL2008需要离线安装 .Net3.5
  6. C++实现简单选择排序
  7. 放弃Windows,用国产开源替换政府办公系统!这个国家做到了
  8. sqlserver视图
  9. 技术人员如何跟传统行业打交道?
  10. mysql事务 并发_Mysql关于事务并发带来的问题
  11. mybatis中resultType和resultMap的区别
  12. 帆软已知年和第几周,算出7天日期如何写?
  13. Android之内容提供者ContentProvider的总结
  14. vue里面下载配置使用zepto vue中怎样使用zepto
  15. MATLAB函数之image、imagesc、imshow的用法
  16. 高斯平滑算法 c语言,高斯模糊算法(gaussian)
  17. 光标突然由竖线变成小黑块怎么解决?
  18. Xftp/Xshell 要继续使用此程序,您必须应用最新的更新或使用新版本
  19. 【环境搭建】Ubuntu安装vulkan
  20. 《数学之美》中的模型及启示总结

热门文章

  1. 中国国产十大著名户外运动品牌全球最顶级碳纤维自行车品牌排行榜
  2. 帝恩思:网站被劫持跳转怎么办?
  3. 常用的common function库(三)
  4. c++字符串与c字符串
  5. python爬虫文字加密_涉及字体加密的爬虫分析
  6. 天行数据-API调用
  7. android des 加密
  8. 灰度共生矩阵(GLCM)并计算能量、熵、惯性矩、相关性(matlab)(待总结)
  9. NLP 之 jieba (结巴)制作词云
  10. 科学计算与数学建模(选择练习)