UIButton的选中功能

来源:互联网 发布:西门子plc编程培训 编辑:程序博客网 时间:2024/05/16 08:07

         在做IOS登录的时候,要用到记住密码和自动登录功能,这就涉及到了按钮的选中。我没有使用IOS的segmented control而是使用自定义button,

 通过判断button的是否选中来进行图片切换,从视觉上达到选中效果,第3张图片是属于高亮的时候的效果。

             

       我的第一种做法是首先画一个30x30的按钮,类型选择为custom,然后在image中加入第一张图片,代码通过判断selected 来替换图片。

- (IBAction)didCheck:(id)sender {    if(check.selected)    {        [check setSelected:NO];        [check setImage:[UIImage imageNamed:@"checkbox-pressed.png"] forState:UIControlStateHighlighted];        [check setImage:[UIImage imageNamed:@"checkbox.png"] forState:UIControlStateNormal];    }else{        [check setSelected:YES];        [check setImage:[UIImage imageNamed:@"checkbox-pressed.png"] forState:UIControlStateHighlighted];        [check setImage:[UIImage imageNamed:@"checkbox-checked.png"] forState:UIControlStateNormal];    }}


    后来在网站上下载例子学习的时候,无意中发现了另一种方法。在代码中只要实现

- (IBAction)didCheck:(id)sender {    if(check.selected)    {        [check setSelected:NO];    }else{        [check setSelected:YES];    }}

而切换图片的功能则移交XIB实现,可以修改XIB的源码来实现图片的切换操作,我觉得这样操作更好,业务层就要关注逻辑就好了。

        <object class="NSCustomResource" key="IBUIHighlightedImage" id="659391970"><string key="NSClassName">NSImage</string><string key="NSResourceName">checkbox-pressed.png</string></object><object class="NSCustomResource" key="IBUISelectedImage" id="536261228"><string key="NSClassName">NSImage</string><string key="NSResourceName">checkbox-checked.png</string></object><object class="NSCustomResource" key="IBUINormalImage" id="829405485"><string key="NSClassName">NSImage</string><string key="NSResourceName">checkbox.png</string></object>


 

原创粉丝点击