mirror of
https://github.com/MessageKit/MessageKit.git
synced 2026-02-06 19:03:19 +00:00
Merge branch 'development' of https://github.com/MessageKit/MessageKit into tagonsoft_development
# Conflicts: # Example/Sources/Data Generation/SampleData.swift
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user