iPhone SDK:与图像交互

时间:2010-07-02 02:48:19

标签: iphone

我正在为iPhone制作一个应用程序,而我想做的部分是每当用户触摸某个位置时(让我们说一个圆圈),应用程序应该做出反应并做一些事情。

如何将一个点定位为按钮?或者有不同的方法来做到这一点?我有一个带有UIImageView子视图的UIScrollView。

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以从Touches示例中了解如何处理触摸。

特别是,在UIResponder类的实例中处理简单的触摸。由于UIView继承自UIResponder,因此任何视图都能够响应触摸消息。因此,为了处理触摸,您只需要创建一个继承自特定视图(在您的情况下为UIScrollView)的类,并覆盖您感兴趣的触摸发明;更具体地说,对于您的方案,您需要处理touchesEnded:withEvent:

答案 1 :(得分:0)

最简单的方法是在UIScrollView上添加一些透明的UIButton实例,设置操作并在每个按钮中执行一些操作。

例如,

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

// Override point for customization after application launch

...

UIButton* someButton = [[[UIButton alloc] initWithFrame:CGRectMake(100.0f, 100.0f, 100.0f, 100.0f)] autorelease];
[someButton addTarget:self action:@selector(doSomething) forControlEvents:UIControlEventTouchDown];
[someUIScrollView addSubview:someButton];

...
}

- (void)doSomething {
    NSLog(@"Do something");
}

如果要创建非矩形点(例如圆圈),您应该编写一些代码来判断触摸点是否在内部。但考虑到手指大小和用户识别,我认为您不必执行严格的判断。