iOS总结(自己定义button)

1.首先新建一个类该类继承UIButton

2.实现几个方法

1).改动字体的一些属性

-(instancetype)initWithFrame:(CGRect)frame{

self = [superinitWithFrame:frame];

if (self) {

1--》设置字体显示的位置(左.中.右)

self.titleLabel.textAlignment =NSTextAlignmentCenter;

2--》设置字体的大小

self.titleLabel.font = [UIFontsystemFontOfSize:12];

3--》设置字体的颜色

[selfsetTitleColor:[UIColorcolorWithRed:0.33fgreen:0.33fblue:0.33falpha:1.00f]forState:
UIControlStateNormal];

4--》选中之后的颜色

[selfsetTitleColor:[UIColorcolorWithRed:0.32fgreen:0.74fblue:1.00falpha:1.00f]forState:UIControlStateSelected];

}

return
self;

}

在很多情况下我们设置的button即有文字(title)又有图片(image)对于文字和图片的位置怎样设置仅仅须要完毕例如以下两种方法就可以

2).设置title所在的位置,前两个属性设置文字所在的位置,后两个属性设置文字的大小

-(CGRect)titleRectForContentRect:(CGRect)contentRect{

return
CGRectMake(0,30, contentRect.size.width,15);

}

3).设置图片所在的位置,当然这里要在參考前面设置字体的范围以及view的范围来设置,后期能够依据详细的范围来进行调整

-(CGRect)imageRectForContentRect:(CGRect)contentRect{

return
CGRectMake((contentRect.size.width -26)/2,
2, 26,
26);

}

这种方法非常好使的

时间: 2024-11-07 21:49:51

iOS总结(自己定义button)的相关文章

iOS重用宏定义

iOS 多快好省的宏(转) 原文地址:http://my.oschina.net/yongbin45/blog/150149 // 字符串: #ifndef nilToEmpty #define nilToEmpty(object) (object!=nil)?object:@"" #endif #ifndef formatStringOfObject #define formatStringOfObject(object) [NSString stringWithFormat:@&q

iOS开发UI篇—Button基础

iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted disabled(失效状态,不可用状态) 如

iOS之宏定义#define

最基本的宏定义用法 #define aaa  bbb 表示用aaa替换bbb的内容. 宏作用范围 宏的作用范围是在当前文件内, 如果需要作用于其他类(如在类b调用类a已定义宏),那么需要在类b引入类a的头文件(a.h). 如果需要作用于整个工程,可以定义一个类如Config.h,在该类定义好需要的宏,然后在工程的XXX_Prefix.pch文件 #import "Config.h" 在Config.h中 #define aaa  bbb 在XXX_Prefix.pch文件 中 #ifd

iOS 使用宏定义函数和代码块

iOS使用宏定义函数和代码块 今天在开发过程中碰到一个问题:就是父类中要向外发送通知,然后子类中或者其他类中来接收它.当然一般是把它写到类方法中去,但是有个问题,就是如果调用的类不是它的子类,就不能直接调用,当然也可以采用静态方法实现,我这里主要是想用宏定义来实现,下面我分别介绍使用宏定义函数和定义代码块的方式进行,废话不多说了,直接上代码: 使用宏定义函数实现 //定义 #define SendNotification @"SendNotification" #define send

【iOS】自己定义TabBarController

一.自己定义的思路 iOS中的TabBarController确实已经非常强大了.大部分主流iOS应用都会採用. 可是往往也不能满足所有的需求,因此须要自己定义TabBar,自己定义须要对系统的TabBar工作方式有非常好的理解,自己定义须要勇气. 自己定义TabBar的原则:尽量利用系统自带TabBar,仅仅改须要改的地方. 二.自己定义TabBar的整体过程 1.先把自带的TabBar条给取消了 2.自己做一个view,上面放几个button,设定button的点击事件.并设置selectI

IOS基础控件--Button

一.拖拽控件法 拖拽添加一个Button Type 为custom,分别设置State config分别为Default, highlighted, selected.并分别选择Background为image全称. 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController 4 5 @property (nonatomic, strong) IBOutlet UIButton *btn; 6 7 @en

iOS UITableViewCell上 取消button点击延迟

这个现象在高亮状态时最为明显 连续触碰button 高亮状态会不显示. 处理方案是关掉scrollView的延迟 代码: 在创建tableView的地方加下面这行 _tableView.delaysContentTouches =NO; 在tableView代理方法 cellForRow 里加入下面代码 for (UIView *currentViewin cell.subviews) { if([currentView isKindOfClass:[UIScrollViewclass]]) {

IOS开发之自定义Button(集成三种回调模式)

前面在做东西的时候都用到了storyboard,在今天的代码中就纯手写代码自己用封装个Button.这个Button继承于UIView类,在封装的时候用上啦OC中的三种回调模式:目标动作回调,委托回调,Block回调.具体的内容请参考之前的博客:“Objective-C中的Block回调模式”,“Target-Action回调模式”,“Objective-C中的委托(代理)模式”.在接下来要封装的button中将要用到上面的知识点.之前在做新浪微博中的Cell的时候用到了Block回调来确定是那

iOS 常用宏定义

下面是在iOS开发中常用的一些宏定义: //一般的提示信息 #define mAlertView(title, msg) \ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; #define SYSTEM_VERSION_GREATER_TH