自定义按钮(图像在上面 文字在下面)



 1 @implementation ViewController
 2
 3 - (void)viewDidLoad {
 4     [super viewDidLoad];
 5     // Do any additional setup after loading the view, typically from a nib.
 6     MYButton *btn = [MYButton buttonWithType:UIButtonTypeCustom];
 7     btn.backgroundColor = [UIColor redColor];
 8     [btn setImage:[UIImage imageNamed:@"57"] forState:UIControlStateNormal];
 9     [btn setTitle:@"会计电算教学" forState:UIControlStateNormal];
10     btn.frame = CGRectMake(100, 100, 87 , 80);
11     [self.view addSubview:btn];
12
13 }

@implementation MYButton

- (instancetype)initWithFrame:(CGRect)frame
{
    if (self = [super initWithFrame:frame]) {
        [self setUp];
    }

    return self;
}

- (id)initWithCoder:(NSCoder *)aDecoder
{
    if (self = [super initWithCoder:aDecoder]) {
        [self setUp];
    }
    return self;
}

- (void)setUp
{
    [self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    self.titleLabel.font = [UIFont systemFontOfSize:14];
    self.titleLabel.textAlignment = NSTextAlignmentCenter;

}

- (void)layoutSubviews
{
    [super layoutSubviews];
    self.imageView.x = 15;
    self.imageView.y = 5;
    self.imageView.contentMode =UIViewContentModeScaleAspectFill;
    self.titleLabel.y =CGRectGetMaxY(self.imageView.frame ) +5;
    self.titleLabel.x = 0;
    self.titleLabel.width = self.width;

}

- (void)setTitle:(NSString *)title forState:(UIControlState)state
{
    [super setTitle:title forState:state];

    [self sizeToFit];
}

- (void)setImage:(UIImage *)image forState:(UIControlState)state
{
    [super setImage:image forState:state];

    [self sizeToFit];
}

@end

通过自定义按钮可以达到图像在上面  文字在下面  只要调整一下按钮的大小 就可以轻松的实现应用图片+应用名称的组合,非常方便做应用推荐的开发。

时间: 2024-10-11 12:30:34

自定义按钮(图像在上面 文字在下面)的相关文章

ArcGIS API for JavaScript 4.2学习笔记[16] 弹窗自定义功能按钮及为要素自定义按钮(第五章完结)

这节对Popups这一章的最后两个例子进行介绍和解析. 第一个[Popup Actions]介绍了弹窗中如何自定义工具按钮(名为actions),以PopupTemplate+FeatureLayer的形式测量要素的长度为例子进行介绍. 第二个[Custom popup actions per feature]则是上一个的升级,如果说上一个例子的功能是写死的,那么这个例子就把这个功能写活了.什么意思呢?上个例子的测距仅仅能测距,没有什么别的特别的.而这个例子以啤酒店的分布(点要素图层)为例,在自

Cocos2d-x 自定义按钮类控制精灵攻击----之游戏开发《赵云要格斗》

本篇要讲讲怎么自定义按钮类,并通过这个按钮类的对像来控制精灵的攻击.在看本篇之前最好先看看上一篇 Cocos2d-x虚拟摇杆控制精灵上下左右运动----之游戏开发<赵云要格斗>,要素材和项目代码的把邮箱留下吧,因为这个项目还没弄完,我一直在改. 精灵的攻击也是一个动画,只不过,这个动画只播放一次,相当于在界面上加一个按钮,然后你点一次按钮,精灵就播放一次动画. 一.自定义按钮类 按钮可以用COCOS2D-X自带的,想着方便一点,我就自己封装了一个按钮类ControlButton,在里面添加一个

xcode UIButton创建、监听按钮点击、自定义按钮 、状态 、内边距

代码创建 //创建UIButton UIButton * btnType=[[UIButton alloc]init]; //设置UIControlStateNormal状态下的文字颜色 [btnType setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; //设置字体大小 btnType.titleLabel.font=[UIFont systemFontOfSize:9.0]; //设置边框的宽度 btnTyp

Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页、搜索、格式化、自定义按钮

系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件及方法 Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页.搜索.格式化.自定义按钮 Web jquery表格组件 JQGrid 的使用 - 6.准备工作 & Hello JQGrid Web jquery表格组件 JQGrid 的使用 - 7.查询数据.编辑数据.删除数据

ECharts自定义toolbox中增加自定义按钮

今天想能不能在ECharts中的ToolBox增加自己的按钮,然后读了一下ToolBox代码,自己试了试,验证是可以的. 1.效果图 图片中红色框起来的按钮 2.代码 selfButtons:{//自定义按钮 danielinbiti,这里增加,selfbuttons可以随便取名字 show:true,//是否显示 title:'自定义', //鼠标移动上去显示的文字 icon:'test.png', //图标 option:{}, onclick:function(option1) {//点击

【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置

(1)UIButton类继承自UIControl,而UIControl继承自UIView,因为UIView就是个矩形区域,所以UIButton实例化的对象其实都是一个矩形,虽然有各种圆角.增加联系人.信息按钮等等,给它们加个背景它们就现形成矩形了,而且它们有个frame属性,这就是设置位置和矩形框的. (2)UIButton创建一个按钮不用实例化,也就是不用alloc和init,而是直接调用内置的几个工厂方法即可,这一点和UILabel *label1=[[UILabel alloc]init]

IOS 自定义按钮(代码实现)+九宫格

在一些下载应用里整个页面都是按钮,有好多好多,但是仔细观察不难发现他们很有规律.就像下面一样?? 很有规律的排列在屏幕上,那么这需要我们怎么去做能. 正如标题,我们需要了解两个知识点,分别是自定义按钮和九宫格,九宫格是一种算法.在这里我给大家列出方法,并不过多解释,希望会对大家有帮助. 代码如下: 自定义按钮部分 // // CXButton.m // CX-自定义按钮(代码实现)+九宫格 // // Created by ma c on 16/3/18. // Copyright ? 2016

NGUI使用3——制作图集&amp;自定义按钮&amp;切换按钮图片

1,准备素材新建一个文件夹,命名为UITexture. 2,创建Atlas在Project面板中,进入UITexture 文件夹,选中这两张图片,然后 右键-->[NGUI]-->[Atlas Maker],之后你会看到 Atlas Maker 的界面:在 Atlas Maker 界面中,点击[Create]按钮. 之后给这个Atlas 起名为MyAtlas.prefab,点击[保存]. 3,预览Atlas和Sprite保存之后,这个新的Atlas 就创建好了.可以点击一下[View Spri

Android自定义进度条-带文本(文字进度)的水平进度条(ProgressBar)

/** * 带文本提示的进度条 */ public class TextProgressBar extends ProgressBar { private String text; private Paint mPaint; public TextProgressBar(Context context) { super(context); initText(); } public TextProgressBar(Context context, AttributeSet attrs, int d