             }
         } else {
             let cell: CGAttributedTableViewCell = tableView.cellForRowAtIndexPath(indexPath) as CGAttributedTableViewCell
+            if let sCell = selectedCell {
+                sCell.resignAllFirstResponders()
+            }
+            
             if cell.reuseIdentifier == CGAttributedTableViewCellType.Button.simpleDescription() {
                 cell.toggleEditingProperty()
+            } else {
+                selectedCell = cell
+                cell.assignFirstResponder()
             }
         }
     }

    
    public func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        if let dataSrc = attributedDataSource {
            let identifier = CGAttributedTableViewCellType(rawValue: dataSrc.attributedTableView(self, cellTypeForRowAtIndexPath: indexPath))!.simpleDescription()
            if identifier == CGAttributedTableViewCellType.TextView.simpleDescription() {
                return 60.0
            } else if identifier == CGAttributedTableViewCellType.Picker.simpleDescription() || identifier == CGAttributedTableViewCellType.DatePicker.simpleDescription() {
                if _singleEditingMode {
                    if let sCell = selectedCell {
                        if sCell.editMode {

                if let indexPath = indexPathTemp {
                    if let pData = placeholderData {
                        if pData.count > row {
                            println(pData[row])
                            del.attributedCell(self, updateIndexPath: indexPath, withData: pData[row])
                        }
                    }
