[iPad] Fixes not rounding last visible row in MelonDS core settings
This commit is contained in:
parent
5ffccbb884
commit
a79924d340
@ -314,9 +314,17 @@ extension MelonDSCoreSettingsViewController
|
|||||||
switch section
|
switch section
|
||||||
{
|
{
|
||||||
case _ where isSectionHidden(section): return 0
|
case _ where isSectionHidden(section): return 0
|
||||||
|
case .general:
|
||||||
|
guard let core = Settings.preferredCore(for: .ds) else { break }
|
||||||
|
|
||||||
|
let validKeys = DeltaCoreMetadata.Key.allCases.filter { core.metadata?[$0] != nil }
|
||||||
|
return validKeys.count
|
||||||
|
|
||||||
case .airPlay where Settings.features.dsAirPlay.topScreenOnly: return 1 // Layout axis is irrelevant if only AirPlaying top screen.
|
case .airPlay where Settings.features.dsAirPlay.topScreenOnly: return 1 // Layout axis is irrelevant if only AirPlaying top screen.
|
||||||
default: return super.tableView(tableView, numberOfRowsInSection: sectionIndex)
|
default: break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return super.tableView(tableView, numberOfRowsInSection: sectionIndex)
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
|
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
|
||||||
@ -401,24 +409,6 @@ extension MelonDSCoreSettingsViewController
|
|||||||
return cell
|
return cell
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)
|
|
||||||
{
|
|
||||||
guard let core = Settings.preferredCore(for: .ds), let section = Section(rawValue: indexPath.section), section == .general else { return }
|
|
||||||
|
|
||||||
let key = DeltaCoreMetadata.Key.allCases[indexPath.row]
|
|
||||||
let lastKey = DeltaCoreMetadata.Key.allCases.reversed().first { core.metadata?[$0] != nil }
|
|
||||||
|
|
||||||
if key == lastKey
|
|
||||||
{
|
|
||||||
// Hide separator for last visible row in case we've hidden additional rows.
|
|
||||||
cell.separatorInset.left = 0
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cell.separatorInset.left = cell.layoutMargins.left
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
|
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
|
||||||
{
|
{
|
||||||
switch Section(rawValue: indexPath.section)!
|
switch Section(rawValue: indexPath.section)!
|
||||||
@ -474,20 +464,6 @@ extension MelonDSCoreSettingsViewController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
|
|
||||||
{
|
|
||||||
switch Section(rawValue: indexPath.section)!
|
|
||||||
{
|
|
||||||
case .general:
|
|
||||||
let key = DeltaCoreMetadata.Key.allCases[indexPath.row]
|
|
||||||
guard Settings.preferredCore(for: .ds)?.metadata?[key] != nil else { return 0 }
|
|
||||||
|
|
||||||
default: break
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.tableView(tableView, heightForRowAt: indexPath)
|
|
||||||
}
|
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
|
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
|
||||||
{
|
{
|
||||||
let section = Section(rawValue: section)!
|
let section = Section(rawValue: section)!
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user