如何获取touchesbegan事件中的[touch view]的名称。 因此,如果它是UIView * aaaaaview我会得到aaaaaview作为返回; 谢谢你, NONONO被触动的UIView的名称
回答
的touches
参数是一组UITouch
情况下,它有一个相应的view
属性:
属性的值是在最初发生触摸的视图对象。
UIView
都不具备的具体名称,但你可以检查他们的身份,即:
if([touch view] == aaaview) {}
或使用- (BOOL)isEqual:
。
你也可以使用tag
属性,而不是给他们有意义的身份:
enum MyViews {
AaaView,
// ...
};
aaaview.tag = AaaView;
// ...
if([touch view].tag == AaaView) {}
如果你真的需要在问题没有提到的一些原因的名字,你可以继承UIView
并引入一个name属性。
“UIView * aaaaaView”只是指内存中的某个位置。所以,如果你有
UIView *aView;
UIView *anotherView;
aView = anotherView;
和用户接触一个UIView,将视图的名称是“aView”或“anotherView”?尤其是,UIView不知道用于存储变量的名称。
我想你将不得不初始化一个NSDictionary映射名称到UIViews。
东西在你的-viewDidLoad这样的,也许:
yourDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:
@"aaaaaView", aaaaaView, @"viewTwo", viewTwo, nil];
,然后在事件中,你可以说
NSString *viewName = (NSString *) [yourDictionary objectForKey: [touch view]];
'-initWithObjectsAndKeys:'应该是'nil'终止。 – kennytm 2010-05-02 06:26:48
@KennyTM谢谢;修正。 – 2010-05-02 07:59:21
或者,也许是这样的:
if ([viewController.nibName isEqualToString:@"aaaaView"])
- 1. 检查UIView是否被触动?
- 2. UIView的触摸不被识别
- 3. touchesBegan在UIView不被称为
- 4. UIView/ViewController名称[图片]
- 5. 获得被解雇(触发)的事件的名称(类型)
- 6. 将名称传递给UIView的子类
- 7. 如何显示UIView上的名称?
- 8. UIView iOS上可拖动行为的名称是什么?
- 9. 检测某些UIView是否在其他UIView中被触及
- 10. 如何测试一个UIView是否被另一个UIView触碰?
- 11. 旋转UIView - willRotateToInterfaceOrientation不被称为
- 12. UIView的签名
- 13. 当UITextField被触发时,同步向上滑动UIView并调整UITableView的大小
- 14. UIView上的录音接触
- 15. 移动UIView与触摸相关
- 16. 在UIView动画触摸问题
- 17. UIView子视图没有收到触动
- 18. Swift iOS - 检测触摸拖动从外部输入UIView UIView
- 19. dotnet不被识别为cmdlet的名称
- 20. 被屏蔽的Web服务名称
- 21. UIView被保留
- 22. UIView被禁用
- 23. 约束名称被忽略
- 24. 当我触摸UIVIew
- 25. NSMutableDictionary的动态名称?
- 26. 动态名称的jQuery
- 27. 如何获取触发触发器的操作名称?
- 28. 当UITextField被选中时移动UIView
- 29. 停止UIView被拖动屏幕
- 30. 可可触摸 - 动画的UIView的中心属性
我米好奇你在用什么? – blindjesse 2010-05-03 04:59:43