请问图中选中部分是用户自定义的控件吗?
这个自定义的控件包含一个imageview和一个label?

解决方案 »

  1.   

    就是普通的button,只是左边图片根据是否选中,设置不同的图片
      

  2.   

    不算是自定义控件~
    但是你选中的部分由UIImageView,UILabel和UIButton三部分组成;
    UIImageView:代表选中和未选中图片;
    UILabel:代表文字;
    UIButton:接收点击事件,根据状态修改UIImageView
      

  3.   

    @ravatar0423 
    意思就是在UIImageView和UILabel区域的上面放了一个UIButton,然后这个UIButton设置成了透明的?感谢!
      

  4.   

    @ravatar0423 
      

  5.   

    是的,就是那样~ 透明的UIButton接收点击事件,然后触发相应的动作;
      

  6.   

    @ravatar0423 
    但是我觉得从功能上讲,一个UIButton就可以完成啊,比如设置UIButton的image表示那个圆圈是否选中,background为白色图片,title为文字,通过点击事件改编image?
    图片中用三个UI组件实现和只用一个UIButton比起来有什么特别的考虑吗?
    谢谢
      

  7.   


    确实可以像你说的那样用一个button去实现
    不过他这种实现方式有他的好处,就是按钮的的布局和图片跟label没有半点关系,所有的按钮可以做的非常一致.
    如果用一个button的话调整起来比较麻烦,你要分别调整图片和按钮label的insets,然后按钮上的label的文本内容长短不一你可能也要做一些处理,如果设计那边按钮的尺寸有变化,你所有的这些调整又要重新微调一遍
      

  8.   

    楼上正解,灵活度更高~如果这里用UIButton单独来实现,复杂度比现在的方案要升一级;
    还有这里用UIButton接受处理事件,同样可以用UITapGesture来处理事件;
    如果放在UITableViewCell中,就直接利用UITableView的select事件来处理了;
      

  9.   

    @ravatar0423  @disburden 
    我还想请教下 我想知道在ios中的所有的UI组件,我要通过什么方式获取?
    目前我知道的是UI组件主要在UIKit中,其他的Kit中好像也有些,但是我想要知道所有的。我目前在官网或者是一些书籍中无法获得这些信息。您对这方面有什么了解吗?
    谢谢