iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >iOS - UIButton(UIEdgeInsets)/设置button上的文字和图片上下垂直居中对齐
  • 729
分享到

iOS - UIButton(UIEdgeInsets)/设置button上的文字和图片上下垂直居中对齐

iosuibuttonUIEdgeInsets 2022-05-22 12:05:37 729人浏览 泡泡鱼
摘要

UIEdgeInsets typedef struct UIEdgeInsets { CGFloat top, left, bottom, right; // specify

UIEdgeInsets


typedef struct UIEdgeInsets {
  CGFloat top, left, bottom, right; // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
} UIEdgeInsets;

在UIButton中有三个对EdgeInsets的设置:ContentEdgeInsets、titleEdgeInsets、imageEdgeInsets


@property(nonatomic)     UIEdgeInsets contentEdgeInsets UI_APPEARANCE_SELECTOR; // default is UIEdgeInsetsZero
@property(nonatomic)     UIEdgeInsets titleEdgeInsets;        // default is UIEdgeInsetsZero
@property(nonatomic)     BOOL     reversesTitleShadowWhenHighlighted; // default is NO. if YES, shadow reverses to shift between engrave and emboss appearance
@property(nonatomic)     UIEdgeInsets imageEdgeInsets;        // default is UIEdgeInsetsZero

UIEdgeInsetsMake

里面的四个参数表示距离上边界、左边界、下边界、右边界的距离,默认都为零,title/image在button的正中央


UIKIT_STATIC_INLINE UIEdgeInsets UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right) {
  UIEdgeInsets insets = {top, left, bottom, right};
  return insets;
}
 self.view.backgroundColor = [UIColor blackColor];
  UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];//button的类型
  button.frame = CGRectMake(100, 100,90, 90);//button的frame
  button.backgroundColor = [UIColor cyanColor];//button的背景颜色
//  [button setBackgroundImage:[UIImage imageNamed:@"man_64.png"] forState:UIControlStateNORMal];
//  在UIButton中有三个对EdgeInsets的设置:ContentEdgeInsets、titleEdgeInsets、imageEdgeInsets
  [button setImage:[UIImage imageNamed:@"IconHome@2x.png"] forState:UIControlStateNormal];//给button添加image
  button.imageEdgeInsets = UIEdgeInsetsMake(5,13,21,button.titleLabel.bounds.size.width);//设置image在button上的位置(上top,左left,下bottom,右right)这里可以写负值,对上写-5,那么image就象上移动5个像素
  [button setTitle:@"首页" forState:UIControlStateNormal];//设置button的title
  button.titleLabel.font = [UIFont systemFontOfSize:16];//title字体大小
  button.titleLabel.textAlignment = NSTextAlignmentCenter;//设置title的字体居中
  [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];//设置title在一般情况下为白色字体
  [button setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];//设置title在button被选中情况下为灰色字体
   button.titleEdgeInsets = UIEdgeInsetsMake(71, -button.titleLabel.bounds.size.width-50, 0, 0);//设置title在button上的位置(上top,左left,下bottom,右right)
//  [button setContentEdgeInsets:UIEdgeInsetsMake(70, 0, 0, 0)];//
//  button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//设置button的内容横向居中。。设置content是title和image一起变化
  [button addTarget:self action:@selector(tap) forControlEvents:UIControlEventTouchUpInside];
  [self.view addSubview:button];
//button相应的事件
-(void)tap {
  NSLog(@"tap a button");
  UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"hello" message:@"willingseal" delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil];
  [alertView show];
}

效果图:

我这里使用的image是64*64的

--

那就一个button,这个button的背景图片中既有图片又有文字就可以了,找个美工帮忙弄一下应该很逼真的。。。!!

以上就是本文给大家分享的iOS - UIButton(UIEdgeInsets)/设置button上的文字和图片上下垂直居中对齐,希望大家喜欢。

--结束END--

本文标题: iOS - UIButton(UIEdgeInsets)/设置button上的文字和图片上下垂直居中对齐

本文链接: https://www.lsjlt.com/news/30124.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS怎么实现文字与图片同排和文字上下垂直居中
    这篇文章主要介绍了CSS怎么实现文字与图片同排和文字上下垂直居中的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS怎么实现文字与图片同排和文字上下垂直居中文章都会有所收获,下...
    99+
    2024-04-02
  • DIV+CSS怎么实现文字与图片上下垂直居中
    这篇文章主要介绍了DIV+CSS怎么实现文字与图片上下垂直居中的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇DIV+CSS怎么实现文字与图片上下垂直居中文章都会有所收获,下面我...
    99+
    2024-04-02
  • CSS怎么实现同一行的图片和文字垂直居中对齐
    本篇内容主要讲解“CSS怎么实现同一行的图片和文字垂直居中对齐”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS怎么实现同一行的图片和文字垂直居中对齐”吧!有...
    99+
    2024-04-02
  • 如何使用CSS实现同一行的图片和文字垂直居中对齐
    小编给大家分享一下如何使用CSS实现同一行的图片和文字垂直居中对齐,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:<...
    99+
    2024-04-02
  • 如何实现同一行的图片和文字居中对齐
    这篇文章主要介绍“如何实现同一行的图片和文字居中对齐”,在日常操作中,相信很多人在如何实现同一行的图片和文字居中对齐问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现同一...
    99+
    2024-04-02
  • CSS HTML怎么让同一行的图片和文字居中对齐
    这篇文章主要介绍了CSS HTML怎么让同一行的图片和文字居中对齐的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS HTML怎么让同一行的图片和文字居中对齐文章都会有所收获...
    99+
    2024-04-02
  • web前端中对未知高度的图片设置垂直居中的示例分析
    web前端中对未知高度的图片设置垂直居中的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。标准浏览器还是将外部容器#box的显示模式...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作