iOSUIButton类的扩展,创建一个UIBarButtonItem的button

.h文件中:

#import <UIKit/UIKit.h>

@interface UIBarButtonItem (YLY)
/**
 *  快速创建一个item对象(包装一个button)
 *
 *  @param image   按钮图片
 *  @param hilight 高亮图
 *  @param target  按钮的监听器
 *  @param action  按钮的件提起的回调方法
 *
 *  @return 创建的item对象
 */
+(UIBarButtonItem *)itemWithImage:(NSString *)image higlightedImage:(NSString *)hilight target:(id)target action:(SEL)action;
@end

.m文件中:

#import "UIBarButtonItem+YLY.h"

@implementation UIBarButtonItem (YLY)
+(UIBarButtonItem *)itemWithImage:(NSString *)image higlightedImage:(NSString *)hilight target:(id)target action:(SEL)action
{
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    UIImage *normal  = [UIImage imageWithNamed:image];
    [btn setBackgroundImage:normal forState:UIControlStateNormal];
    [btn setBackgroundImage:[UIImage imageWithNamed:hilight]forState:UIControlStateHighlighted];
    btn.bounds = CGRectMake(0, 0, normal.size.width, normal.size.height);
    [btn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    return [[UIBarButtonItem alloc] initWithCustomView:btn];
}
@end

使用:

 //菜单
    self.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithImage:@"navigationbar_pop" higlightedImage:@"navigationbar_pop_highlighted" target:self action:@selector(pop)];
时间: 2024-07-29 16:29:56

iOSUIButton类的扩展,创建一个UIBarButtonItem的button的相关文章

Swift类中如何创建一个对外只读对内可读写的属性

很简单用private修饰符,后面跟限制关键字set: class Day{ private(set) var rawValue:Int = 0 func showRawValue(){ print("raw is \(rawValue)") } func forwardRawValue(){ rawValue += 1 } } 不过如上上述类定义在playground中的话,实际你会发现如果去掉后面的(set)照样可以在外部访问: let day = Day() day.rawVal

创建一个类

c++是一门面向对象的编程语言,而面向对象的基础就是类 使用C++创建一个Student类 class Student//学生类 { private://私有 //数据成员 char Name[10];//姓名 int Age;//年龄 int No;//学号 public://公有 //成员函数 //输入学生的信息 void InputStudent(char *name, int age, int no) { strcpy(Name, name); Age = age; No = no; }

UE4的编程C++创建一个FPSproject(两)角色网格、动画、HUD、子弹类

立即归还,本文将总结所有这些整理UE4有关角色的网络格.动画.子弹类HUD一个简单的实现. (五)角色加入网格 Character类为我们默认创建了一个SkeletaMeshComponent组件,所以我们只须要做的就是使用哪一个静态网格模型.接下来我们为我们的FPSCharacter类创建一个蓝图,这样我们能够简单的把资源指定给静态网格模型这里,而且方便以后操作加入的组件. 作为開始,我们首先要导入一个第三人称的静态网格模型.最后我们设置成两个网格,一个是我们自己看的,另外一个是其它人看到的.

创建一个单例类

关于单例的概念此处不做表述,直接上代码演示如何创建一个单例类. 1 #import <Foundation/Foundation.h> 2 3 @interface MJDemo : NSObject 4 5 + (instancetype)sharedDemo; 6 7 @end 8 9 10 #import "MJDemo.h" 11 12 @implementation MJDemo 13 14 //在iOS中所有对象分配内存空间,最终都会调用allocWithZon

创建一个提供搜索功能的搜索类(可运行)

/* * 这段代码的主要功能是对于创建索引的后的文件, * 创建一个提供搜索功能的搜索类. * */ package ch2.lucenedemo.process; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.Date; import java.util.Iterator; import jav

创建一个羊类,使用static实现数羊,记录一共创建了几只羊

public class Test { public static void main(String[] args) { // TODO Auto-generated method stub //创建一个羊类,使用static实现数羊,记录一共创建了几只羊. Sheep.getCount(); Sheep s1=new Sheep("喜羊羊"); Sheep.getCount(); Sheep s2=new Sheep("懒羊羊"); Sheep.getCount(

创建一个三角形类并且通过成员函数计算三角形的周长和面积《1》

首先定义一个三角形类 class Triangle//三角形类 { public: double getA(void);//得到a的值 double getB(void);//得到b的值 double getC(void);//得到c的值 void setA(double x);//设置a的值 void setB(double y);//设置b的值 void setC(double z);//设置c的值 bool isTriangle(void);//取三边的值 double Perimeter

创建一个三角形类并且使用成员函数计算三角形的周长和面积《2》

首先创建一个三角形类 class Triangle//三角形类 { public: void Setabc(double x, double y, double z);//置三边的值,注意要能成三角形 void Getabc(double *x, double *y, double *z);//取三边的值 double Perimeter(void);//计算三角形的周长 double Area(void);//计算并返回三角形的面积 private: double a, b, c; //三边为

boost实用工具:创建一个禁止复制的类 noncopyable

boost的noncopyable允许创建一个禁止复制的类,使用很简单,但很好用! C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394   /* boost_noncopya