博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 自定义UIButton(图片和文字混合)
阅读量:5211 次
发布时间:2019-06-14

本文共 1813 字,大约阅读时间需要 6 分钟。

 // UIApplicationDelegate  .h文件

#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@end

 

 // UIApplicationDelegate  .m文件

 

#import "AppDelegate.h"

#import "CustomButton.h"

@implementation AppDelegate

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor whiteColor];

  

    CustomButton *customBtn = [[CustomButton alloc] init];

    customBtn.frame = CGRectMake(100,150, 150, 60);

    [customBtn setTitle:@"十二年" forState:0];

    [customBtn setImage:[UIImage imageNamed:@"De.png"] forState:0];

    [self.window addSubview:customBtn];

 

    [self.window makeKeyAndVisible];

    return YES;

}

@end

 

 

// 自定义CustomButton类,继承UIButton

// CustomButton .h文件

 

#import <UIKit/UIKit.h>

@interface CustomButton : UIButton

@end

 

 

 

 

// CustomButton  .m文件

 

#import "CustomButton.h"

 

 

 

@implementation CustomButton

 

 

 

 

 

-(id)initWithFrame:(CGRect)frame

 

{

 

    self = [super initWithFrame:frame];

 

    if (self) {

 

        //设置粗体文字,以及文字的大小

 

        self.titleLabel.font = [UIFont boldSystemFontOfSize:20];

 

        // 设置文字居右

 

        self.titleLabel.textAlignment = NSTextAlignmentRight;

 

        // 设置文字的颜色

 

        [self setTitleColor:[UIColor redColor] forState:0];

 

        // 设置背景图片

 

        self.backgroundColor = [UIColor greenColor];

 

    }

 

    return self;

 

}

 

- (CGRect)titleRectForContentRect:(CGRect)contentRect

 

{

 

    CGRect titleFrame = CGRectMake(0, 0, contentRect.size.width * 0.6, contentRect.size.height);

 

    return titleFrame;

 

}

 

 

- (CGRect)imageRectForContentRect:(CGRect)contentRect

 

{

 

    return CGRectMake(contentRect.size.width * 0.6, 0, contentRect.size.width * 0.4, contentRect.size.height);

 

}

 

@end

 

转载于:https://www.cnblogs.com/lantu1989/p/4594156.html

你可能感兴趣的文章
多线程分批处理集合中的元素【我】
查看>>
独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了...
查看>>
react + dva + ant架构后台管理系统(一)
查看>>
[转]ASP数组全集,多维数组和一维数组
查看>>
我的中兴五年:加班为何成了底层员工心中永远的痛
查看>>
git学习
查看>>
C# winform DataGridView 常见属性
查看>>
逻辑运算和while循环.
查看>>
Nhiberate (一)
查看>>
c#后台计算2个日期之间的天数差
查看>>
安卓开发中遇到的小问题
查看>>
ARTS打卡第3周
查看>>
HDU 2189 悼念512汶川大地震遇难同胞――来生一起走 --生成函数
查看>>
js知识梳理3:创建对象的模式探究
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>
cookies相关概念
查看>>
android动态权限获取
查看>>
CAN总线波形中ACK位电平为什么会偏高?
查看>>
siebel 中 join 使用心得
查看>>
剑指Offer:重建二叉树
查看>>