我在UIView中有一个imageView,当点击该按钮时,它会显示在按钮顶部。按钮的位置是动态的。
如果按钮位于屏幕的最右侧,点击该按钮,显示的一半视图将离开屏幕(即只显示一半)
在下面的代码中,我将视图的帧设置为图像宽度及其高度,imageView的位置是(图像的中心位于按钮的顶部中心)
请建议我如何重新定位视图将始终在边界内。下面是我用于在按钮
上显示我的自定义视图的代码 //calculate frame for view
let imageHeight = myImage.size.height
let imageWidth = myImage.size.width
let imageX = myButton.minX -
((myView.myImageView.bounds.width)/2) + 15
let imageY = currentCellRect.minY -
(myView.myImageView.bounds.height) + 15
let imageFrame = CGRect(x: imageX, y: imageY, width:
imageWidth, height: imageHeight)
//Assign calculated from to the tool tip view
toolTipView.frame = imageFrame
答案 0 :(得分:0)
在计算imageWidth
和imageX
后,您可以进行如下检查:
[...]
var imageX = myButton.minX -
((myView.myImageView.bounds.width)/2) + 15
imageX = min(imageX, view.frame.width - imageWidth)
[...]
请注意,我将imageX
从let
更改为var
。