一、练习中为了实现自定义按钮,按钮中的imageView和titleLabel默认是左右排列的。在练习中自定义为上下排列。

*在以下方法中重新布局按钮中的子控件

 - (void)layoutSubviews
{
[super layoutSubviews];
CGFloat buttonH = self.frame.size.height;
CGFloat buttonW = self.frame.size.width;
CGFloat labelH = buttonH - buttonW;
// 布局子控件
self.imageView.frame = CGRectMake(, , buttonW, buttonW);
self.titleLabel.frame = CGRectMake(, buttonW, buttonW, labelH);
}

*子控件布局完成之后,在以下方法设置子控件的颜色,文字,大小之类

注意:按钮的很多属性都是有各种状态的,正常状态,高亮状态等。设置这种属性要加上状态!

设置带有状态的属性,正确代码如下:

 - (instancetype)initWithFrame:(CGRect)frame
{
// 调用父类的initWithFrame方法
if (self = [super initWithFrame:frame]) {
self.titleLabel.textAlignment = NSTextAlignmentCenter;
// 设置titleLabel中的字体颜色
[self setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
// 设置按钮背景图片
[self setBackgroundImage:[UIImage imageNamed:@"add"] forState:UIControlStateNormal];
} ;
return self;
}

错误写法:带有状态的属性不能直接赋值,没有效果

        self.titleLabel.text = @"删除";
self.imageView.image = [UIImage imageNamed:@"add"];

iOS错误整理--自定义按钮,给按钮内部赋值出现的错误的更多相关文章

  1. iOS中创建自定义的圆角按钮

    iOS中很多时候都需要用到指定风格的圆角按钮,尽管UIButton提供了一个方式创建圆角按钮: + (id)buttonWithType:(UIButtonType)buttonType;//指定bu ...

  2. iOS自定义的UISwitch按钮

    UISwitch开关控件 开关代替了点选框.开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化. 一.创建 UISwitch* mySwitch = [[ UISwitchalloc] ...

  3. 制作自定义背景Button按钮、自定义形状Button的全攻略(转)

    在Android开发应用中,默认的Button是由系统渲染和管理大小的.而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的.因此,我们在开发产品的时候,需要对默认按钮进行美化.在本篇里,笔者结 ...

  4. WPF界面设计技巧(2)—自定义漂亮的按钮样式

    原文:WPF界面设计技巧(2)-自定义漂亮的按钮样式 上次做了个很酷的不规则窗体,这次我们来弄点好看的按钮出来,此次将采用纯代码来设计按钮样式,不需要 Microsoft Expression Des ...

  5. iOS设置拍照retake和use按钮为中文简体

    iOS设置拍照retake和use按钮为中文简体,设置有两种方式一个是代码直接控制,第二就是xcode配置本机国际化为“china”(简体中文). 本文重点要说的是第二种,这样配置有两个好处,一是操作 ...

  6. 富文本编辑器UEditor自定义工具栏(三、自定义工具栏功能按钮图标及工具栏样式简单修改)

    导读 富文本编辑器UEditor提供丰富了定制配置项,如果想设置个性化的工具栏按钮图标有无办法呢?答案是肯定的!前两篇博文简要介绍了通过将原工具栏隐藏,在自定义的外部按钮上,调用UEditor各命令实 ...

  7. 兼容IE8的flash上传框架"uploadify"自定义上传按钮样式的办法

    (uploadify版本:3.2.1 ) 因为公司业务的原因,所做的项目需要兼容IE8,因此做的上传插件无奈选择的是基于flash的uploadify. 由于是基于flash的,所以使用过程中,难以给 ...

  8. iOS 9应用开发教程之使用代码添加按钮美化按钮

    iOS 9应用开发教程之使用代码添加按钮美化按钮 丰富的用户界面 在iOS9中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. i ...

  9. asp 按钮 调用ajax时 会出现返回错误,尽量使用html按钮进行调用

    asp 按钮 调用ajax时 会出现返回错误,尽量使用html按钮进行调用

随机推荐

  1. Android学习系列(10)--App列表之拖拽ListView(上)

     研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨.      鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章. ...

  2. -no-xrender will disable the qtwebkit

    -no-xrender will disable the qtwebkit         apt-get install libxrender-dev 来自为知笔记(Wiz)

  3. android 登陆界面

    LoginActivity.java package com.example.ruian; import android.app.Activity; import android.app.AlertD ...

  4. XtraTreeList直接显示Access数据库表中的数据

    方法1:点击在拖入的显示控件(TreeList)右上方的箭头,在Treelist任务中选择数据源,添加项目数据源,依次选择数据库.数据集,新建连接,浏览选择数据库(*.mdb),依次点击 下一步,选择 ...

  5. apache主机(网站)配置,port监听,文件夹訪问权限及分布式权限

    前言 一个网站的两个核心信息为: 主机名称(server名/网站名):ServerName server名 网站位置(网站文件夹路径):DocumentRoot "实际物理路径" ...

  6. 自己定义View学习之12/7(进度条之混合模式)

    今天重点内容是我们学习自己定义view里面的混合模式.事实上我们的画布就跟photoshop一样.是个图层关系,一层盖着一层.这样就导致有非常多种覆盖模式,这就是我们今天的主题."混合模式& ...

  7. spring3.0.6+hibernate3升级spring4.1.6+hibernate4.3遇到的问题

    1.下面这三个包,在hibernate4中已经废弃了,因为都直接用session来进行很好的事务管理 import org.springframework.orm.hibernate3.Hiberna ...

  8. 解决:IIS APPPOOL\DefaultAppPool 登录失败的问题

    为大家介绍下解决IIS APPPOOL\DefaultAppPool 登录失败的方法,有遇到类似问题的朋友参考下. 添加ASP.NET网站时,选择添加"添加应用程序"连接sql s ...

  9. 关于shell

    操作系统本质上是一个应用程序,他负责硬件资源调度,文件系统管理等最底层的工作. 而shell是系统中一种特别的应用程序.之所以特别,是因为用户一切的操作都是经由shell来实现的. 和我们直接进行交互 ...

  10. Oracle PLSQL Demo - 03.流程判断[IF ELEIF ELSE]

    declare v_job ) := 'Programmer'; v_sal number; begin if v_job = 'Programmer' then v_sal :; elsif v_j ...