我正在 Swift 中构建一个简单的应用程序,该应用程序包含一个 png 图像、一个 UISegmentedControl 和一个 UIButton。在 UISegmentedControl 上选择不同的控件可调整披萨图像的大小。当我单击 UISegmentedControl 中的“大”,然后按下界面上名为“submitOrderDisplay”的按钮时,它将图像从大尺寸缩小到小尺寸。我知道这与我在代码最底部使用的 setTitle 方法有关,但我不明白为什么这会导致图像重置为其默认的小尺寸。如果我删除 setTitle 方法,则单击 UIButton 后不会发生调整大小。我不希望按下按钮后图像改变大小。我如何实现这一目标?
import UIKit
class SecondViewController: UIViewController{
@IBOutlet weak var sizeChoiceControl: UISegmentedControl!
@IBOutlet weak var submitOrderDisplay: UIButton!
@IBOutlet weak var myImageView: UIImageView!
@IBAction func sizeSelected() {
if(sizeChoiceControl.titleForSegmentAtIndex(sizeChoiceControl.selectedSegmentIndex)! == "Small"){
myImageView.setHeight(height: 85)
myImageView.setWidth(width: 85)
myImageView.setX(x: 146)
myImageView.setY(y: 63)
}
else if(sizeChoiceControl.titleForSegmentAtIndex(sizeChoiceControl.selectedSegmentIndex)! == "Medium"){
myImageView.setHeight(height: 100)
myImageView.setWidth(width: 100)
myImageView.setX(x: 139)
myImageView.setY(y: 55)
}
else if(sizeChoiceControl.titleForSegmentAtIndex(sizeChoiceControl.selectedSegmentIndex)! == "Large"){
myImageView.setHeight(height: 115)
myImageView.setWidth(width: 115)
myImageView.setX(x: 131)
myImageView.setY(y: 48)
}
}
@IBAction func SubmitOrderClicked(sender: UIButton) {
submitOrderDisplay.setTitle("Update Order", forState: UIControlState.Normal)
}
}
最佳答案
在viewDidLoad函数中写入按钮的配置:
submitOrderDisplay.setTitle("Update Order", forState: UIControlState.Normal)
我知道您想将标题设为“更新订单”。
如果您想在按下时更改标题,则必须为按钮的另一种状态调用它,例如:
submitOrderDisplay.setTitle("Update Order", forState: UIControlState.Highlihgted)
如果在事件发生时更改按钮的不同状态的配置,这一定是大小重新设置的原因。
关于ios - 为什么我的 UIButton 会影响 Swift 中的 UIImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43062745/