Merge branch 'development' of https://github.com/MessageKit/MessageKit into tagonsoft_development

# Conflicts:
#	Example/Sources/Data Generation/SampleData.swift
This commit is contained in:
Iosif Moldovan
2018-10-26 09:33:45 +03:00
14 changed files with 174 additions and 60 deletions
@@ -30,12 +30,12 @@ final internal class SettingsViewController: UITableViewController {
// MARK: - Properties
var selectedMockMessagesCount: Int = 20
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
let cells = ["Mock messages count", "Text Messages", "AttributedText Messages", "Photo Messages", "Video Messages", "Emoji Messages", "Location Messages", "Url Messages", "Phone Messages"]
// MARK: - Picker
var messagesPicker = UIPickerView()
@@ -55,6 +55,8 @@ final internal class SettingsViewController: UITableViewController {
messagesPicker.dataSource = self
messagesPicker.delegate = self
messagesPicker.backgroundColor = .white
messagesPicker.selectRow(UserDefaults.standard.mockMessagesCount(), inComponent: 0, animated: false)
}
// MARK: - Toolbar
@@ -82,12 +84,25 @@ final internal class SettingsViewController: UITableViewController {
// MARK: - TableViewDelegate & TableViewDataSource
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
return cells.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellValue = cells[indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") ?? UITableViewCell()
cell.textLabel?.text = cells[indexPath.row]
return indexPath.row == 0 ? configureTextFieldTableViewCell(at: indexPath) : UITableViewCell()
switch cellValue {
case "Mock messages count":
return configureTextFieldTableViewCell(at: indexPath)
default:
let switchView = UISwitch(frame: .zero)
switchView.isOn = UserDefaults.standard.bool(forKey: cellValue)
switchView.tag = indexPath.row
switchView.addTarget(self, action: #selector(self.switchChanged(_:)), for: .valueChanged)
cell.accessoryView = switchView
}
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
@@ -118,6 +133,12 @@ final internal class SettingsViewController: UITableViewController {
}
return TextFieldTableViewCell()
}
@objc func switchChanged(_ sender: UISwitch!) {
let cell = cells[sender.tag]
UserDefaults.standard.set(sender.isOn, forKey: cell)
}
}
// MARK: - UIPickerViewDelegate, UIPickerViewDataSource
@@ -134,8 +155,4 @@ extension SettingsViewController: UIPickerViewDelegate, UIPickerViewDataSource {
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return "\(row)"
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
selectedMockMessagesCount = row
}
}