触摸通知已结束

时间:2009-09-05 09:53:19

标签: iphone iphone-sdk-3.0 nsnotifications

我是关于iPhone上的通知的新手。

我想要做的是:我有一个使用基于UIImageView的类的对象。这个类有自己的touchbegan,touchesended等实现。

主程序可以知道用户何时将手指抬离物体?换句话说,是否可以从类创建一个通知到主应用程序的视图控制器(使用类),因此它将触发一个方法?该方法应该在主应用程序上,而不是在类上。

这可能吗?你能举个例子吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

-touchesEnded:中,添加类似以下语句的内容(将handleTouchesEndedNotification更改为您要用于通知的唯一名称):

[[NSNotificationCenter defaultCenter] postNotificationName:@"handleTouchesEndedNotification" object:nil userInfo:nil];

在您的主要应用程序委托或其他类中,在初始化类的位置添加以下语句,该语句将使用您在上面使用的唯一名称侦听通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleMyNotification:) name:@"handleTouchesEndedNotification" object:nil];

在课程中,添加方法和逻辑:

- (void) handleMyNotification:(NSNotification *)notification {
    // do stuff...
}

如果要将数据与通知一起传递,请创建一个NSDictionary对象,并将通知的userInfo变量设置为此字典对象。