Further sizing improvements on iPad. Only show add feed / folder pickers when there is more than 1 item to display.

This commit is contained in:
Phil Viso
2019-05-19 17:48:03 -05:00
parent 2f82f05721
commit 34c6341b4c
3 changed files with 67 additions and 26 deletions

View File

@@ -14,12 +14,15 @@ import RSParser
class AddFeedViewController: UITableViewController, AddContainerViewControllerChild {
@IBOutlet weak var urlTextField: UITextField!
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var folderPickerView: UIPickerView!
@IBOutlet weak var folderLabel: UILabel!
@IBOutlet private weak var urlTextField: UITextField!
@IBOutlet private weak var nameTextField: UITextField!
@IBOutlet private weak var folderPickerView: UIPickerView!
@IBOutlet private weak var folderLabel: UILabel!
private var pickerData: AddFeedFolderPickerData!
private lazy var pickerData: AddFeedFolderPickerData = AddFeedFolderPickerData()
private var shouldDisplayPicker: Bool {
return pickerData.containerNames.count > 1
}
private var userCancelled = false
@@ -42,13 +45,16 @@ class AddFeedViewController: UITableViewController, AddContainerViewControllerCh
nameTextField.text = initialFeedName
nameTextField.delegate = self
folderLabel.text = pickerData.containerNames.first
if shouldDisplayPicker {
folderPickerView.dataSource = self
folderPickerView.delegate = self
folderPickerView.showsSelectionIndicator = true
} else {
folderPickerView.isHidden = true
}
pickerData = AddFeedFolderPickerData()
folderPickerView.dataSource = self
folderPickerView.delegate = self
folderPickerView.showsSelectionIndicator = true
folderLabel.text = pickerData.containerNames[0]
// I couldn't figure out the gap at the top of the UITableView, so I took a hammer to it.
tableView.contentInset = UIEdgeInsets(top: -28, left: 0, bottom: 0, right: 0)
@@ -119,6 +125,15 @@ class AddFeedViewController: UITableViewController, AddContainerViewControllerCh
delegate?.readyToAdd(state: urlTextField.text?.rs_stringMayBeURL() ?? false)
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 1 {
return shouldDisplayPicker ? 2 : 1
}
return super.tableView(tableView, numberOfRowsInSection: section)
}
}
extension AddFeedViewController: UIPickerViewDataSource, UIPickerViewDelegate {