我有一个非常简单的用户界面。你可以从图片中看到。如果用户点击EMIT,它应该显示切换并隐藏标签读数。
如果用户点击LISTEN,它应该完全相反。
以下是代码(也包含在屏幕截图中)
-(IBAction) segmentedControlIndexChanged
{
// LOG ( @"Seg: %d", segmentedControl.selectedSegmentIndex );
BOOL isEmitting = ( segmentedControl.selectedSegmentIndex == 0 );
BOOL isListening = ! isEmitting;
self.remoteIOAudioUnit->emitting = isEmitting;
// hide readout if we're transmitting
labelA.hidden = labelB.hidden = labelC.hidden = lblCurrentRoom.hidden = ( isEmitting ? YES : NO );
// hide toggles if we're listening
switchA.hidden = switchB.hidden = switchC.hidden = ( isListening ? YES : NO );
}
从截图中可以看出,断点正在受到冲击。当我切换分段控件时代码正在执行。但奇怪的是UISwitches没有隐藏。
如果我点击其他片段(EMIT),它可以正常工作。即标签隐藏的就像他们应该做的那样。
那么为什么交换机也不会隐藏?
答案 0 :(得分:1)
将( isEmitting ? YES : NO );
更改为YES
。然后,如果按钮仍然可见,则表示您的IBOutlet未连接。
如果它们消失,那么您就知道isEmitting
未按预期设置。