我的笔尖上有两个按钮。我需要在敲击时按下它们,但只有顶部按钮才能执行其功能。有没有办法让顶部按钮告诉底部按钮在顶部按钮被按下时激活。我不认为我可以将按钮合并为一个并使用一个 - (IBAction)buttonName函数,因为一个按钮比另一个按钮大,所以当按下其中一个按钮时,我并不总是需要两个按钮激活。
谢谢!
答案 0 :(得分:3)
顶部按钮是否有办法告诉底部按钮 当顶部按下时激活。
不是,但你可以让顶部按钮的动作调用底部按钮的动作。
这是一种方式:
- (IBAction)actionTop:(id)sender
{
NSLog(@"The top button was activated.");
[self actionBottom:self];
}
- (IBAction)actionBottom:(id)sender
{
NSLog(@"The bottom button was activated.");
}
另一种方法是对两者使用相同的操作,并根据触发操作的按钮找出要做的事情:
- (IBAction)action:(id)sender
{
// if the top button was tapped, do this part
if (sender == self.topButton) {
NSLog(@"The top button was activated.");
}
// you want the bottom button to be activated no matter which button was tapped, so
// no need to check here...
NSLog(@"The bottom button was activated.");
}
底部按钮是整个屏幕,它会更改显示的内容。 顶部按钮播放声音,除了有4个顶部按钮 播放不同的声音
似乎覆盖整个屏幕的隐形按钮可能是解决问题的错误方法。您可能会考虑使用附加到视图的手势识别器来触发更改。您的按钮操作可以调用手势识别器使用的相同方法。
答案 1 :(得分:2)
由于一个按钮比另一个按钮大,我假设您希望较小的按钮用它“降低”较大的按钮,包括视觉状态的变化。在这种情况下你可以send your target button a "tap" programmaticall y,像这样:
- (IBAction)largeButtonClick:(id)sender {
}
- (IBAction)smallButtonClick:(id)sender {
// Perform the acton specific to only the small button, then call
[largeButton sendActionsForControlEvents:UIControlEventTouchUpInside];
}