天天看點

iOS 選擇題之TableView單選與多選的處理

效果

  • 單選
  • iOS 選擇題之TableView單選與多選的處理
  • 多選
  • iOS 選擇題之TableView單選與多選的處理

方法

重寫 ​

​UITableViewCell​

​​的 ​

​- (void)setSelected:(BOOL)selected animated:(BOOL)animated{}​

​ 方法

  • 系統會自動處理​

    ​cell​

    ​ 的選中與取消,這個可以用來處理​

    ​單選​

  • 對于​

    ​多選​

    ​,針對之前的選中狀态加以判斷即可
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    if (_multiChoose) {  // 多選

        // 選中 cell ,并且 之前 未選中 cell,選中它!!!
        if (selected && !_chooseButton.selected){
            _answerLabel.textColor = UIColorFromHexRGB(0xfd9748);
            _chooseButton.selected = YES;
        }

        // 取消選中 cell ,并且 之前 選中 cell
        else if (!selected && _chooseButton.selected){
            // 不處理
        }

        // 選中 cell ,并且 之前 選中 cell,取消選中!!!
        else if (selected && _chooseButton.selected) {
            _answerLabel.textColor = kDetailTextColor;
            _chooseButton.selected = NO;
        }

    }else{  // 單選

        UIColor *color;
        if (selected) { // 選中
            color = UIColorFromHexRGB(0xfd9748);
        }else{ // 取消
            color = kDetailTextColor;
        }
        _answerLabel.textColor = color;
        _chooseButton.selected      

注意