【问题标题】: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 的指南吗?谢谢!

标签: ios uibutton background-image


【解决方案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 并添加UImageViewUILable。这样做之后,您可以将 UIView's 类更改为您的子类。

然后,单击UIView 并打开connections inspector。您将看到您在UIView 子类中声明的IBOutlets,您只需从connections inspector 拖动到UIImageViewUILabel 即可创建连接

【讨论】:

    猜你喜欢
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2013-01-11
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多