UIButton的resizableImageWithCapInsets使用解析

UIButton的resizableImageWithCapInsets使用解析

 

效果:

 

使用的源文件:

源码:

//
//  ViewController.m
//  SpecialButton
//
//  Created by XianMingYou on 15/1/21.
//  Copyright (c) 2015年 XianMingYou. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    /*
     UIImageResizingModeTile    :平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
     */
    UIButton *button1    = [[UIButton alloc] initWithFrame:CGRectMake(65, 250, 202, 29)];
    UIImage *norImage1   = [UIImage imageNamed:@"normal"];
    norImage1            = [norImage1 resizableImageWithCapInsets:UIEdgeInsetsMake(2, 2, 2, 2)
                                                   resizingMode:UIImageResizingModeTile];
    [button1 setBackgroundImage:norImage1 forState:UIControlStateNormal];
    [self.view addSubview:button1];

    /*
     UIImageResizingModeStretch :拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
     */
    UIButton *button2    = [[UIButton alloc] initWithFrame:CGRectMake(65, 300, 202, 29)];
    UIImage *norImage2   = [UIImage imageNamed:@"normal"];
    norImage2            = [norImage2 resizableImageWithCapInsets:UIEdgeInsetsMake(2, 2, 2, 2)
                                                   resizingMode:UIImageResizingModeStretch];
    [button2 setBackgroundImage:norImage2 forState:UIControlStateNormal];
    [self.view addSubview:button2];
}

@end

照着源码试一遍就知道怎么用了^_^!

时间: 2025-01-30 15:55:53

UIButton的resizableImageWithCapInsets使用解析的相关文章

IOS之UI -- 按钮UIButton的细节

按钮细节 文章概要: 1.内部子控件 2.按钮拉伸问题 2-1.代码拉伸 2-2.无代码拉伸 内部子控件 如果想要改变按钮内部子控件的属性,只能自定义按钮 自定义按钮:调整内部子控件的frame 方式1:实现titleRectForContentRect:和imageRectForContentRect:方法,分别返回titleLabel和imageView的frame 方式2:在layoutSubviews方法中设置 内边距 // 设置按钮内容的内边距(影响到imageView和titleLa

iOS10开发和Xcode 8新特性及常见问题解析_IOS

iOS 10 开发这次更新主要表现在以下这几个方面. 1.语音识别 苹果官方在文档中新增了API Speech,那么在以前我们处理语音识别非常的繁琐甚至很多时候可能需要借助于第三方框架处理,那么苹果推出了这个后,我们以后处理起来就非常的方便了,speech具有以下特点: 可以实现连续的语音识别 可以对语 音文件或者语音流进行识别 最佳化自由格式的听写(可理解为多语言支持)和搜索式的字符串 核心代码: #import <Speech/Speech.h> /** 语音识别同样的需要真机进行测试 ,

Photoshop详细解析古风人像的摄影和后期过程

  本教程主要使用Photoshop详细解析古风人像的摄影和后期过程,拍摄古风作品前,我们首先要了解什么是古风.我理解的古风为"具有古代韵味气息的文化及作品",所以在拍摄前后均围绕"古代韵味"做文章.既然构思的是清妆古韵,那在后期处理上自然就选择了偏冷的色调. 一.拍摄部分 1.场景 原计划是去青城山,因为当天拍摄时间有限,最后选择在市区内的望江公园,这个场地很多摄影师都去拍过,为了避免重复,我们没有去标志性的建筑拍摄,或者说有意避开了"热门"拍

JavaScript 预解析的原理及实现

事实上或某种现象证明并不是这样的,通过<JavaScript权威指南>及网上相关资料了解到,JavaScript有"预解析"行为.理解这一特性是很重要的,不然在实际开发中你可能会遇到很多无从解析的问题,甚至导致程序bug的存在.为了解析这一现象,也作为自己的一次学习总结,本文逐步引导你来认识JavaScript"预解析",如果我的见解有误,还望指正. (1) 如果JavaScript仅是运行时自上往下逐句解析的,下面的代码能正确运行是可以理解的,因为我们

PHP抓取网页、解析HTML常用的方法总结

  这篇文章主要介绍了PHP抓取网页.解析HTML常用的方法总结,本文只是对可以实现这两个需求的方法作了总结,只介绍方法,不介绍如何实现,需要的朋友可以参考下 概述 爬虫是我们在做程序时经常会遇到的一种功能.PHP有许多开源的爬虫工具,如snoopy,这些开源的爬虫工具,通常能帮我们完成大部分功能,但是在某种情况下,我们需要自己实现一个爬虫,本篇文章对PHP实现爬虫的方式做个总结. PHP实现爬虫主要方法 1.file()函数 2.file_get_contents()函数 3.fopen()-

控件-mscomm串口波形绘制范例,求大神解析这三个函数,急急急,绘制波形图的原理是什么,拜托了

问题描述 mscomm串口波形绘制范例,求大神解析这三个函数,急急急,绘制波形图的原理是什么,拜托了 //串口void CPort_testDlg::OnComm() { //if(stop)return; VARIANT m_input1; COleSafeArray m_input2; long lengthi; BYTE data[600]; CString str; int ai=0bi=0ci=0di=0; int sum=0; if(m_Comm.GetCommEvent()==2)

【原创】memcached 中的命令行参数解析

     本文主要是以 memcached 源码为例,讲解如何在 linux 下解析命令行参数.  安装 memcached 后,查看其可用选项:  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 [root@Be

设计模式的解析和实现(C++)之四-Prototype模式

作用: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. UML结构图: 抽象基类: 1)Prototype:虚拟基类,所有原型的基类,提供Clone接口函数 接口函数: 1)Prototype::Clone函数:纯虚函数,根据不同的派生类来实例化创建对象. 解析: Prototype模式其实就是常说的"虚拟构造函数"一个实现,C++的实现机制中并没有支持这个特性,但是通过不同派生类实现的Clone接口函数可以完成与"虚拟构造函数"同样的效果.举一个

CLR全面透彻解析: .NET应用程序可扩展性

借助 Microsoft .NET Framework,编程人员便可轻松获取由不同开发人员和公司构建的组件,并将这 些组件集成到自己的应用程序中.但仅当已知哪些组件是构建基础时才能轻松实现上述过程.如果在构建 时对所需组件一无所知(对于加载项,通常会遇到这种情况),那么事情就会变得更加困难.开发人员在 扩展其应用程序时经常会遇到问题.例如,应将加载项存储在数据库中还是磁盘上?开发人员应考虑已知 接口的加载项以获得激活类型吗?使用 AppDomain.AppDomainManager 和 AppD