以编程方式将图像位置放置在按钮顶部
Place image position on top of button programatically
我点击了一个按钮,我需要在按钮操作中显示图像视图,我喜欢下面的操作
let imageName = "pointed_image.png"
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)
self.addSubview(imageView)
现在我想将该图像放置在按钮的顶部,使图像的底部中心正好位于按钮的顶部中心。 (想象一下标注视图如何在地图中显示,其中图钉是位置(在我的场景中是按钮),而标注警报是位置的 "starbucks callout"(在我的场景中是图像)-
请问我该如何修改下面的代码以满足要求
//Build image view
let imageName = "pointed_image.png"
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)
//Get Button frame
let btnFrame = self.infoButton.frame
//position image on top of buttom
// CODE TO MODIFY BELOW
var imgFrame: CGRect = imageView.frame
imgFrame.origin.x = btnFrame.origin.x + 10
imgFrame.origin.y = btnFrame.origin.y - 10
imageView.frame = imgFrame
self.addSubview(imageView)
我会使用 imageView
的 center
属性 来正确放置它:
// aligned by centers in x axis
imageView.center = CGPoint(x: self.infoButton.center.x,
// in y axis, using buttons origin and imageView's height placed right on top of the button
y: self.infoButton.frame.origin.y - (imageView.bounds.height / 2))
我点击了一个按钮,我需要在按钮操作中显示图像视图,我喜欢下面的操作
let imageName = "pointed_image.png"
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)
self.addSubview(imageView)
现在我想将该图像放置在按钮的顶部,使图像的底部中心正好位于按钮的顶部中心。 (想象一下标注视图如何在地图中显示,其中图钉是位置(在我的场景中是按钮),而标注警报是位置的 "starbucks callout"(在我的场景中是图像)-
请问我该如何修改下面的代码以满足要求
//Build image view
let imageName = "pointed_image.png"
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)
//Get Button frame
let btnFrame = self.infoButton.frame
//position image on top of buttom
// CODE TO MODIFY BELOW
var imgFrame: CGRect = imageView.frame
imgFrame.origin.x = btnFrame.origin.x + 10
imgFrame.origin.y = btnFrame.origin.y - 10
imageView.frame = imgFrame
self.addSubview(imageView)
我会使用 imageView
的 center
属性 来正确放置它:
// aligned by centers in x axis
imageView.center = CGPoint(x: self.infoButton.center.x,
// in y axis, using buttons origin and imageView's height placed right on top of the button
y: self.infoButton.frame.origin.y - (imageView.bounds.height / 2))