我正在为iPhone制作一个应用程序,而我想做的部分是每当用户触摸某个位置时(让我们说一个圆圈),应用程序应该做出反应并做一些事情。
如何将一个点定位为按钮?或者有不同的方法来做到这一点?我有一个带有UIImageView子视图的UIScrollView。
提前致谢!
盖
答案 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");
}
如果要创建非矩形点(例如圆圈),您应该编写一些代码来判断触摸点是否在内部。但考虑到手指大小和用户识别,我认为您不必执行严格的判断。