【问题标题】:UIView resizing based on edgesUIView 根据边缘调整大小
【发布时间】:2012-12-01 06:19:01
【问题描述】:

如何根据边缘调整UIView 的大小?

实际上我正在以编程方式创建UITextField,如果用户愿意,他们可以通过拖动其边缘来增加和减少UITextField's 的高度和宽度..

我不想按比例改变它的高度和宽度。如果用户想要高度,那么只有高度会改变,如果宽度那么只有宽度。

所以我找到了以编程方式获取 One UIView 然后将 UITextField 放入其中的解决方案..

所以我的问题是,我们如何通过触摸 UIView 的边缘来改变 UIView 的高度和宽度?

我对@9​​87654329@ 了如指掌,但不想这样。

我已经通过this stackoverw link. 也得到了this solution 但它对我没有用..

请建议我该怎么做?

更新

目前正在SPUserResizableView 上工作,我认为这会很有用..

感谢我所有的朋友..

【问题讨论】:

  • 为什么第一个链接没用?它将很好地实现调整大小。你有更具体的目标吗?
  • @MilesAlden 当您使用 UIPanGestureRecognizer 时,它将按比例增加宽度和高度。我不会那样做
  • @Mehul UIPanGestureRecognizer 报告手势的 X 和 Y 偏移量。但是您可以在用户拖动高度手柄时忽略 X 偏移量,而当用户拖动宽度手柄时忽略 Y 偏移量。
  • @Mehul 另外,您还没有解释为什么 SPUserResizableView 对您没有用处。
  • @robmayoff 抱歉没有更新我的问题,但我目前正在尝试将其用于相同的目的..

标签: iphone objective-c ipad uiview uitextfield


【解决方案1】:

这很简单。 你听说过 -

TouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

TouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

TouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

TouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

你只需要在你的 UIView 类中添加这个方法。 然后通过某种计算,您可以做到这一点。 说当您触摸触摸开始时,方法会被调用...在触摸移动中,您可以移动 uiview 的动画以增加或减少高度或宽度。 因为上述所有函数都会为您提供 x 和 y 的坐标。

希望对你有所帮助。

【讨论】:

  • 我知道而且很简单..但是你能详细说明一下吗..你做过吗?
猜你喜欢
  • 2012-12-16
  • 2019-09-18
  • 2012-02-09
  • 2012-01-17
  • 2013-10-12
  • 2014-12-29
  • 2012-05-26
  • 1970-01-01
  • 2018-09-30
相关资源
最近更新 更多