UIButton 控制UIImage自由改变大小

本文介绍如何使用UIButton并自定义其外观属性,包括设置按钮图像、调整图像大小及内容对齐方式等。通过一个具体的示例展示了如何加载指定的高亮图像,并将其调整到适合按钮尺寸的大小。

1.0 使用

UIButton *btn = [UIButton alloc] init];
[btn setContentMode:UIViewContentModeScaleAspectFit];
 

UIImage *selectedImage = [UIImage imageNamed:@"heart_highlighted.png"];


[btn setImage:[selectedImage
 transformWidth:90 height:125] forState:UIControlStateSelected];
//设置内容垂直或水平显示位置
 
[btn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
[btn setContentVerticalAlignment:UIControlContentVerticalAlignmentTop];

 

//

//  UIImageCategory.m

//  CategorySample

//

//  Created by yile on 3/29/09.

//  Copyright 2009 Quoord. All rights reserved.

//


#import <UIKit/UIKit.h>

@interface UIImage (Category)

- (UIImage *)transformWidth:(CGFloat)width height:(CGFloat)height;

@end


#import "UIImageCategory.h"


@implementation UIImage (Category)


// --------------------------------------------------

// Resize an image

// --------------------------------------------------



- (UIImage*)transformWidth:(CGFloat)width 

height:(CGFloat)height {

 

CGFloat destW = width;

CGFloat destH = height;

CGFloat sourceW = width;

CGFloat sourceH = height;

 

CGImageRef imageRef = self.CGImage;

CGContextRef bitmap = CGBitmapContextCreate(NULL

destW, 

destH,

CGImageGetBitsPerComponent(imageRef), 

4*destW, 

CGImageGetColorSpace(imageRef),

(kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst));

 

CGContextDrawImage(bitmap, CGRectMake(00, sourceW, sourceH), imageRef);

 

CGImageRef ref = CGBitmapContextCreateImage(bitmap);

UIImage *resultImage = [UIImage imageWithCGImage:ref];

CGContextRelease(bitmap);

CGImageRelease(ref);

 

return resultImage;

}

@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值