如何响应IBAction在Swift中调整图像大小?

时间:2017-03-23 08:06:05

标签: ios swift xcode uisegmentedcontrol ibaction

我在Xcode中有下面的Swift代码,我正在尝试编写sizeSelected函数,以便在{{1}上更改值时,使我的pizzaIcon.png图像的尺寸变得稍大(90 x 90像素)对象。 pizzaIcon.png图片通过名为UISegmentedControl的{​​{1}}与viewController相关联。

我读了每个堆栈溢出,我无法得到任何建议。

如果我将它粘贴到我的代码底部,将会有什么功能/方法,以及我如何从下面的IBAction函数调用图像大小调整功能呢?

sizeSelected()

1 个答案:

答案 0 :(得分:0)

好的 - 我猜测pizzaIcon.png已经设置为.image

中的@IBOutlet weak var myImageView: UIImageView!

“调整大小”的几种方法,取决于你是否使用约束,但是敌人的例子:

// if NOT using constraints

let rct = myImageVIew.frame

if rct.width == 85 {

    myImageVIew.frame = rct.insetBy(dx: 15, dy: 15)

} else {

    myImageVIew.frame = rct.insetBy(dx: -15, dy: -15)

}

// assuming myImageView has a 1:1 ratio constraint, and
// connected to myImageView's height constraint

@IBOutlet weak var myImageViewHeightConstraint: NSLayoutConstraint!

// if YES using constraints

if myImageViewHeightConstraint.constant == 85 {

    myImageViewHeightConstraint.constant = 100

} else {

    myImageViewHeightConstraint.constant = 85

}

由于您只在85x85和100x100之间切换,因此pizzaIcon.png原生大小为100x100 / 200x200 / 300x300可能会很好,并让UIImageView使用Scale to Fill处理缩放。如果这看起来不够好,那么您还需要在调整框架大小的同时将.image交换为适当大小的pizzaIcon.png