使用 ButtonGroup 来管理不同状态的 Button 按钮组

来源:互联网 发布:黑暗之魂3低配置优化 编辑:程序博客网 时间:2024/04/20 04:51

WSI中增加 UIStateButton 来处理 Checked Unchecked 的状态按钮。

ui::StateButton btn_0, btn_1;

btn_0.set_text(@"0");btn_1.set_text(@"1");cg::MutableTextStyle ts, uts;ts.set_fontsize(40);uts.set_fontsize(20);ts.set_fontcolor(cg::Color::Red());uts.set_fontcolor(cg::Color::Green());btn_0.set_unchecked(cg::Image(@"a.png"));btn_0.set_checked(cg::Image(@"b.png"));btn_0.set_unchecked(uts);btn_0.set_checked(ts);btn_1.set_unchecked(cg::Image(@"c.png"));btn_1.set_checked(cg::Image(@"d.png"));btn_1.set_unchecked(uts);btn_1.set_checked(ts);

分别设置按钮在不同状态下的图标、文字参数。

此时需要一个 UIButtonGroup 去管理这些按钮:
ui::ButtonGroup grp;

add_sub(btn_0); //添加到VIEWadd_sub(btn_1);grp.add(btn_0); //添加到组里grp.add(btn_1);

可以在 view_loaded 中设置默认选中某一个按钮:
view().grp.set_selected(view().btn_0); 

之后,按钮组里面只会存在唯一一个 Button 处于 Checked 状态,其余的均处于 Unchecked 状态。

例子可见 sample 中的 button 工程。

原创粉丝点击