【问题标题】:Expand View On dragging拖动时展开视图
【发布时间】:2013-09-05 12:15:04
【问题描述】:

很遗憾,我在 stackoverflow 上找不到任何关于我的问题的信息,或者我只是使用了错误的关键字。

我想要一个可以由用户移动和增加或减少的视图。请参阅图像作为参考。用户可以使用 4 个锚点来定义矩形的框架。

您能帮忙找到一种简单的方法来实现这一目标吗?

非常感谢来自德国的问候, 克里斯

【问题讨论】:

  • 你需要像缩放这样的东西吗?比如如果你触摸并缩放你的视图,它的框架应该相应地改变?
  • 这里你可以得到cocoacontrols.com/tags/uiimage对此有一个想法
  • 非常感谢...我会去看看 :)
  • @ChristianPappenberger 这就像一个流行词,你需要用谷歌搜索就是这样......
  • @ChristianPappenberger :嘿,伙计,如果它有助于解决您的问题,请接受我的帖子作为您问题的答案。

标签: iphone ios ipad view frame


【解决方案1】:

使用这个我已经将它用于 imageview 但您可以将它更改为 UIView 并确保该视图的 userInterAction 为 True 在 .h 文件中声明它

CGFloat lastScale;

在 viewDidLoad 中:

UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scale:)];
[pinchRecognizer setDelegate:self];
[imgRotate addGestureRecognizer:pinchRecognizer];


-(void)scale:(id)sender
{
if([(UIPinchGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded)
{
    lastScale = 1.0;
    return;
}

CGFloat scale = 1.0 - (lastScale - [(UIPinchGestureRecognizer*)sender scale]);

CGAffineTransform currentTransform = [(UIPinchGestureRecognizer*)sender view].transform;
CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);

[[(UIPinchGestureRecognizer*)sender view] setTransform:newTransform];

[imgRotate setTransform:newTransform];
lastScale = [(UIPinchGestureRecognizer*)sender scale];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多