【发布时间】:2011-08-11 21:53:39
【问题描述】:
我试图在用户在 UITextView 上方移动时绘制用户的触摸,然后将其保存为 UIImageView 的图像。由于我希望图像与 UITextView 中的文本一起滚动(当有长文本需要滚动时,图像的位置应取决于文本),因此我在 UIScrollView 中添加了 UIImageView 和 UITextView。在直接可见的视图区域中滚动和保存为图像没有问题。但是,触摸区域实际上仅限于直接可见区域(加载时滚动视图的大小)。在我滚动之后,用户的触摸痕迹都被推高到原始视图的大小。
在 ViewWillLoad 我有这些:
UIImage *image = [UIImage imageNamed:@"abc.png"];
(abc 的大小为 670X5000,我不需要它完全显示,我把它做得超长,这样即使对于带有大量文本的 textView 也能工作......这似乎对你没有帮助...)
imageView = [[UIImageView alloc] initWithImage:image] ;
imageView.frame = CGRectMake (0,0,670,750);
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(45, 100, 670, 850)];
textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 670, 750)];
(纵向..横向的另一种设置)
我知道我设置错误,但我不知道如何继续。
我试过玩边界,但效果不大。触摸仍然不正确(就像我滚动后会触摸视图中的一个点,而轨迹实际上比那个点高得多......)
【问题讨论】:
-
我要回答我自己的问题...似乎无法让 UITouch 识别当前显示器之外的先前触摸点(因此屏幕尺寸)...它基本上不允许可滚动的触摸区域,因此跟踪将不正确。
标签: iphone uiscrollview uiimageview touch coordinates