这可能很难解释。按钮按下方法位置
基本上我有以下结构到我的项目:
我有一个对象(图形),其控制其他对象(节点)和(弧)。
一切工作正常,但我发现需要添加按钮到我的节点对象。这也工作得很好,我有一个NSLog输出让我知道哪个节点已被选中等我的问题是,我只想要一次选择一个节点。我的节点对象的初始化代码如下:
- (id) initNodeWithData:(NSString *) _label: (int) _xpos: (int) _ypos
{
if(self = [super init])
{
//other variable inits here...
[self setButton: [UIButton buttonWithType:UIButtonTypeCustom]];
[button setImage:[UIImage imageNamed:@"node.png"]
forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"node.png"]
forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"nodeSelected.png"]
forState:UIControlStateSelected];
[button setImage:[UIImage imageNamed:@"nodeSelected.png"]
forState:(UIControlStateHighlighted|UIControlStateSelected)];
[button addTarget:self
action:@selector(buttonPressed)
forControlEvents:UIControlEventTouchUpInside];
}
return self;
}
- (void)buttonPressed
{
NSLog(@"%@ Pressed", label);
if(button.selected == YES) button.selected = NO;
else if(button.selected == NO) button.selected = YES;
}
因为我的节点对象是独立的形式相互我不能(我不认为我可以无论如何)测试,看是否有其他节点已经在进行选择之前选择。
理想我想是这样的:
- (void)buttonPressed
{
//Check to see if other nodes are selected
//If not, button.selected = yes
//else clear other buttons
//then select current button
}
但我想我需要这个代码在我的viewController类,那里有我的所有其他代码是的,我不知道该怎么做,因为我认为这是全部超出范围。
对不起,这不是很清楚,很难解释!
得到它的工作! :)我想我做了你提出的另一种方法,我对客观C很陌生,所以我不得不做一些关于NSNotification的例子,以及如何使用它,但现在它效果很好! :)非常感谢您的帮助,对您的赞美先生! – 2010-10-26 11:43:49