【发布时间】:2019-10-24 14:47:44
【问题描述】:
我有一个分段控制动作方法,有两个段
@IBAction func segmentChanged(_ sender: UISegmentedControl) {
// What goes here for displaying data similar to buttonsTapped?
}
我有如下三个按钮
@IBOutlet weak var buttonOne: UIButton!
@IBOutlet weak var buttonTwo: UIButton!
@IBOutlet weak var buttonThree: UIButton!
我对所有 3 个按钮都有一个操作方法,
@IBAction func buttonsTapped(_ sender: UIButton) {
switch sender {
case buttonOne:
print("Button one Tapped")
case buttonTwo:
print("Button two tapped")
case buttonThree:
print("Button three tapped")
default: break
}
if segmentedControl.selectedSegmentIndex == 0
{
print("First Segment")
}
else
{
print("Second Segment")
}
}
当我点击 buttonOne 时,我得到了 "First Segment" 和 "Button One Tapped",因为它在第一段中。同样,buttonTwo 和 buttonThree 在控制台上显示正确的消息。
但是当我更改分段控件时,我没有在控制台上收到任何消息。我尝试在segmentChanged 方法中调用buttonOne.sendActions(for: .touchUpInside),它仅适用于buttonOne 并弄乱了其他人。更改段时,如何为所有按钮和段获取正确的消息?提前致谢。
【问题讨论】:
-
segmentedControl.selectedSegmentIndex 代码需要放在segmentChanged 中而不是buttonsTapped 如果segmentedControl 中没有任何变化,则selectedSegmentIndex 将为零
-
好吧,我希望通过分段更改和按钮点击方法在控制台上打印数据。
-
@Coder221 - 您想在按钮操作中执行此操作,否则
-
@Anbu.Karthik 是的,在分段控件的按钮操作中也是如此,或者有什么更好的方法来显示两端的数据?
-
是的,我们可以...
标签: ios swift uibutton uisegmentedcontrol