#import <UIKit/UIKit.h> @interface MyButton : UIButton -(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloat)font; @end
#import "MyButton.h" #import "Constant.h" @interface MyButton () { CGRect boundingRect; } @end @implementation MyButton -(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloat)font { self.frame = frame; [self setTitle:title forState:UIControlStateNormal]; //设置背景图片,可以使文字与图片共存 [self setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal]; [self addTarget:target action:action forControlEvents:UIControlEventTouchUpInside]; [self.titleLabel setFont:[UIFont systemFontOfSize:font]]; boundingRect=[self.titleLabel.text boundingRectWithSize:CGSizeMake(frame.size.width, font) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]} context:nil]; } - (CGRect)imageRectForContentRect:(CGRect)contentRect { CGFloat width = IsIphone6plus || IsIphone6 ? 40 : 30; CGFloat imageX=(self.frame.size.width-width)/2; CGFloat imageY=0; CGFloat height=width; return CGRectMake(imageX, imageY, width, height); } - (CGRect)titleRectForContentRect:(CGRect)contentRect { CGFloat imageX=(self.frame.size.width-boundingRect.size.width)/2; CGFloat imageY=contentRect.origin.y+self.imageView.bounds.size.height; CGFloat width=self.frame.size.width; CGFloat height=25; return CGRectMake(imageX, imageY, width, height); } @end
相关推荐
Android自定义TextView实现文字图片居中显示的方法 Android自定义TextView实现文字图片居中显示的方法是指通过继承TextView实现文字图片居中显示的控件,解决安卓手机系统的不一致导致的符号不是完全一样的问题。...
UIButton+CenterImageAndTitle是UIButton的Category,专门用于修改UIButton的图片和文字位置,提供修改图片和文字位置的五种模式:1、图片和文字上下居中,图片在上,文字在下;2、图片和文字左右居中,文字在左,...
本文将详细介绍如何自定义QComboBox,实现文字居中显示。 首先,我们需要了解QComboBox的基本结构。QComboBox由两部分组成:一个可编辑的输入框和一个下拉列表。默认的样式和布局都是由Qt的样式表(QSS)和内部逻辑...
本文将详细讲解如何利用Qt的QWidget类自定义一个按钮,包括设置按钮的图片、文本、颜色以及它们的对齐方式。这个自定义按钮可以广泛应用于导航按钮或操作按钮,提供丰富的视觉效果。 首先,我们要创建一个新的...
WPF自定义图片按钮[ImageButtonWPF] 更多资源: http://cleopard.download.csdn.net
这对于那些报表标题有重复或需要冻结的情况,尤其重要,因为它不会影响到报表内容的居中显示。 对于图表的居中和自适应宽度问题,FineReport同样提供了灵活的解决方案。图表是报表中重要的视觉元素之一,它能直观地...
图标在上,文本在下(居中) 6.图标在下,文本在上(居中) 并提供两种方式创建按钮---1.类方法 2. 自定义构造方法:可以直接传递status状态 如果有什么新功能需要添加或者存在什么问题,请留意!当天回复,谢谢
- 按钮的渲染模式(ContentMode)可以通过`contentMode`属性来设置,比如填充、居中、拉伸等,这会影响按钮上的图像如何适应按钮大小。 6. **触摸事件处理** - 添加`@IBAction`方法来响应按钮的点击事件,如`...
在C# WinForm开发中,自定义图片和文字是创建用户界面时常见且重要的任务。这通常涉及到在窗体上动态地添加控件,如图片框控件(PictureBox)显示图像,以及标签控件(Label)展示文本。下面将详细阐述如何在C# ...
图片再上,文字在下,在屏幕中居中显示,内置CSS样式。
文字和图片居中显示,在设置时 android:drawableLeft="@drawable/zhoubq_qw" android:gravity="center_vertical
然而,系统默认的TextBox控件并不支持文字的垂直居中显示。为了满足这个需求,我们可以自定义一个控件,继承自TextBox类,并添加相应的功能。在给定的标题和描述中,我们看到开发者已经实现了一个这样的自定义控件,...
在VB(Visual Basic)编程环境中,我们经常使用TextBox控件来显示或接收用户输入的文本。TextBox控件在默认情况下,其文字是水平居中的,但不支持直接的垂直居中对齐。针对这个特点,开发者们通常需要通过一些技巧来...
3. **自定义按钮**:另一种方法是创建一个自定义按钮,用户点击后插入居中图片。这需要你理解Summernote的插件机制,并编写相应的JavaScript代码。 4. **使用扩展插件**:有人可能已经开发了类似的功能插件,你可以...
本篇文章将深入探讨如何自定义ActionBar,使其标题居中显示。 首先,我们需要了解Android的Activity和Theme是如何与ActionBar关联的。在AndroidManifest.xml中,我们可以为每个Activity设置主题(Theme),这些主题...
在这个特定的问题中,我们需要解决的是如何在Summernote中实现图片的居中显示。 通常,Summernote默认的样式可能并不包括图片居中这一选项。描述中提到的"本身不具有图片居中显示"意味着在原生的Summernote配置下,...
总结来说,实现Android TextView的图片和文字居中涉及对TextView的自定义、内容测量以及绘制过程的控制。通过上述步骤,开发者可以创建出一个能够完美适应多种场景的居中TextView。在实际开发中,不断优化和调整,以...
在Android开发中,有时我们需要在同一个TextView中展示不同大小的文字,并让它们保持垂直居中对齐。这可以通过使用SpannableString来实现。SpannableString是Android SDK提供的一种可操作字符串对象,允许我们在字符...
为了解决上述问题,本文将详细介绍如何通过修改`RadioButton`的样式设置来达到预期的效果——即图片与文字均能居中显示,并且文字能在一行内完全显示。 #### 问题根源与解决方案 **问题根源** 根据题目描述,问题...
由于`UITabBar`不是常规的可编辑视图,这可能需要一些技巧,比如监听`layoutSubviews`以确保按钮始终居中。 2. 使用`UITabBarItem`:可以创建一个`UITabBarItem`作为中间的"按钮",并为其设置自定义的点击事件。...