如何根据需要调整背景图像的大小
Posted
技术标签:
【中文标题】如何根据需要调整背景图像的大小【英文标题】:How to resize background image as needed 【发布时间】:2015-02-15 18:03:50 【问题描述】:我正在尝试创建一个带有图像和文本的 ui 按钮。
我需要的很简单:
第一行居中的图像和另一行居中的标签。
所以我在情节提要中创建了一个 uibutton,以这种方式设置文本和背景:
但结果对我不利。
这就是我所拥有的:
这就是我需要的:
有人可以帮我吗?
谢谢!
编辑
我以这种方式创建了一个自定义 UIButton:
.h
#import <UIKit/UIKit.h>
@interface MenuButton : UIButton
@property (weak, nonatomic) IBOutlet UIImageView *image;
@property (weak, nonatomic) IBOutlet UILabel *text;
@end
.m
#import "MenuButton.h"
@implementation MenuButton
@end
在界面生成器中,我创建了一个带有 MenuButton
类的视图,添加了一个图像和一个标签并连接到 .h。
现在我的问题是:
如何将图像和标签传递给该新按钮,以便在内部实例化多个具有不同值的“自定义按钮”?
谢谢!
【问题讨论】:
按钮是外面的矩形吗? 是的,整个按钮包含图片和文字 如果你想要这种行为,我建议继承 UIButton,并添加这种行为 好的,我知道我需要覆盖 uibutton 并使用图像和文本创建我的按钮.. 但是如何? :) 你有一些关于创建带有图像和文本的 uibutton 的指南吗?谢谢! 【参考方案1】:您只需创建一个 UIButton 子类。
1)
如果您使用的是 IB:那么您可以在 .h 中创建 2 个属性
@property (weak, nonatomic) IBOutlet UIImageView *image;
@property (weak, nonatomic) IBOutlet UILabel *text
接下来您需要将所有属性连接到 IB 中的对象
如果您正在使用代码,请删除 IBOutlet 并将属性移动到 .m
2)
现在您需要做的就是管理属性的行为。
在 IB 中,只需将自动布局约束添加到子类并更改其常量属性值 - 检查此 tutorial
在代码中,您可以通过使用动画设置它们的框架来使它们变大/变小来做到这一点
编辑
好的,阅读您的更新后,您需要将子类从 UIButton
更改为 UIView
。
这样您可以在storyboard
中添加UIView
并添加UImageView
和UILable
。这样做之后,您可以将 UIView's
类更改为您的子类。
然后,单击UIView
并打开connections inspector
。您将看到您在UIView
子类中声明的IBOutlets
,您只需从connections inspector
拖动到UIImageView
和UILabel
即可创建连接
【讨论】:
以上是关于如何根据需要调整背景图像的大小的主要内容,如果未能解决你的问题,请参考以下文章
响应式网页设计:“如何使用 CSS 根据浏览器窗口大小调整背景图像的大小”?