【发布时间】:2016-03-15 01:20:10
【问题描述】:
我有一些 UIImageView 类型的矩形,它是 (Rectangle:UIImageView) 类的子类。我想要做的是,当 touchesBegan 或 touchesMoved 时,我只需要调整它的顶部位置,而底部必须保持固定在它的位置,但我遇到了一些问题。问题是,它正在调整大小,但从底部而不是顶部。我试过改变锚点,但没有运气。似乎 UIImageView 锚点保持不变并且从底部调整大小。如何解决这个问题?
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?)
{
if let touch = touches.first
{
let position = touch.locationInView(self.superview)
if CGRectContainsPoint((self.superview?.frame)!, position)
{
self.frame = CGRect(x: self.frame.origin.x, y:
self.frame.origin.y, width: self.frame.width, height: position.y)
}
}
}
【问题讨论】:
-
如果图像视图 (
self) 最初是使用自动布局定位的,尝试更改其frame将不起作用... -
@matt 你会建议我做什么 matt?
-
我建议你告诉他你是否使用自动布局。
-
@YuchenZhong 嘿兄弟。问题是,是的,我确实有自动布局,并且我设法以编程方式根据 topConstraint 更改大小,而不是更改它的框架。但是我在如何根据我的触摸输入同步 topConstraint 的属性以在触摸开始时正确对应时遇到问题。到目前为止,Wingzero 给了我一些很好的建议,我走在正确的轨道上。但我坚持最后一个,仍在弄清楚。任何帮助表示赞赏。
-
算你显示你当前使用的约束的屏幕截图吗?以及您按下按钮时当前按钮外观的屏幕截图(如果可能的话)?
标签: swift sprite-kit ios9