【发布时间】:2012-01-02 06:17:21
【问题描述】:
我想使用触摸来旋转 uiimageview 中的 uiimage。但是,在旋转图像时,不应干扰图像视图边界,仅应旋转图像。任何人都知道我该怎么做。我见过很多使用手势的例子,但我不能使用手势识别器,因为我已经编写了使用触摸从角落调整 uiimageview 大小的代码。任何帮助表示赞赏。
【问题讨论】:
标签: objective-c ios ipad uiimageview touches
我想使用触摸来旋转 uiimageview 中的 uiimage。但是,在旋转图像时,不应干扰图像视图边界,仅应旋转图像。任何人都知道我该怎么做。我见过很多使用手势的例子,但我不能使用手势识别器,因为我已经编写了使用触摸从角落调整 uiimageview 大小的代码。任何帮助表示赞赏。
【问题讨论】:
标签: objective-c ios ipad uiimageview touches
我会将 UIImageView 放入您处理触摸的 UIView 中,然后将转换应用于 UIImageView。只要 UIView 不裁剪边界,它就会显示整个 UIImageView,并且您可以让交互发生在 UIView 上。边框也会在 UIView 上设置。
然后旋转 UIImageView 将非常简单:
imageView.transform = CGAffineTransformMakeRotation(ANGLE_IN_RADIANS);
【讨论】:
可以通过设置属性单独旋转UIImage对象
@property(nonatomic, readonly) UIImageOrientation imageOrientation
你可以在这里找到方向 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImage_Class/Reference/Reference.html.
至于在不使用手势识别器的情况下使图像在触摸时发生变化,我认为这是不可能的。但是,您可以使用诸如
之类的方法来解决同一视图上的多个手势识别器问题- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
在 UIGestureRecognizerDelegate 协议中可用。我很确定,您可以指定哪些手势在您的情况下应该做什么,而无需更改视图及其层次结构。
【讨论】: