在我的应用程序中,我想打开一个包含特定按钮内容的视图(这样按钮看起来应该被点击并且不应该被点击)。我有4个带图片的按钮,所有四个内容都有不同的内容(不同内容的表格视图)。当这个视图打开时,我希望自动点击第一个按钮,并显示该按钮的内容,并点击任何其他按钮应该显示该按钮的内容,并且可以再次单击之前单击的按钮。 我使用不同的图片进行点击和未点击的按钮。
谢谢,
答案 0 :(得分:0)
您所描述的内容听起来像是一个分段控件。基本上分段控制的工作方式就像录音机上的按钮一样(约会我自己,我知道。)当你按下播放时,它会保持按下状态,直到你按下Stop或FF或Rew等时才能再次按下(Ok,Stop doesn)这样做真的很有效,但按钮的其余部分确实如此)
不幸的是,我不相信你可以在UISegmentedControl中使用你自己的图像,但幸运的是有一个适合你的开源版本:https://github.com/xhan/PlutoLand/blob/master/PLSegmentView.h
完成控制后,您可以根据分段控件的值更改主视图的内容。您可以在UIControlEventValueChanged事件中处理该事件
答案 1 :(得分:0)
为所有按钮保留一个选择器,如
[btn addTarget:self action:@selector(templateSelected:) forControlEvents:UIControlEventTouchUpInside];
并使用标记将任何索引传递给选择器
[btn setTag:integer];
如果您想跟踪之前点击的按钮,请保留全局(id)并将当前按钮地址分配给该ID。
如果你想在加载时点击第一个按钮,那么在初始化第一个按钮的过程中,可以通过剧情的方式调用该函数。
[self templateSelected:firstButton];
答案 2 :(得分:0)
也许这会对你有所帮助
- (void)didClickButton:(id)sender {
UIButton *optionButton = (UIButton *)sender;
if(lastSelectedButton.tag!= optionButton.tag) {
optionButton.selected = YES;
//According to your needs enable or disable the button's interaction
}
此处lastSelectedButton
应为实例变量。