Внешний вид края прокрутки на Uitabbar не работает в попытке воспроизвести UitabbarController с помощью пользовательскогIOS

Программируем под IOS
Ответить
Anonymous
 Внешний вид края прокрутки на Uitabbar не работает в попытке воспроизвести UitabbarController с помощью пользовательског

Сообщение Anonymous »

Примечание. Ниже давнее, но просто невозможно еще больше уменьшить код и при этом продемонстрировать проблему. Это подкласс UiviewController . Я добавляю uitabbar внизу и на основе того, какая вкладка выбрана, я отображаю соответствующий контроллер представления, как и uitabbarcontroller . Мои потребности гораздо более вовлечены, но я сузил этот вопрос и его код до одной проблемы, с которой я сталкиваюсь с моей попыткой повторить стандартное поведение. Все это работает, за исключением того, что я не получаю эффект появления края прокрутки, когда вы прокручиваете нижнюю часть вида таблицы. В соответствии с iOS 18 или раньше, с акциями uitabbarcontroller , панель вкладок становится ясной (например, навигационная панель), когда вы прокручиваете до конца таблицы. В моей пользовательской реализации я не получаю мягкого затухания на строках, показанных за панелью вкладок, как вы получаете в стандартном uitabbarcontroller .
Мой вопрос сводится к тому, что не хватает в моем коде, который позволяет эффекту экрана прокрутки (ios 18)/Soft Fade Effect (ios 26), чтобы функционировать, как в Standard uitabcarcontroller UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") ?? UITableViewCell(style: .default, reuseIdentifier: "cell")
cell.textLabel?.text = "Row \(indexPath.row + 1)"
return cell
}

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print(indexPath)
}
}
[/code]
Наконец, замените содержимое ViewController.swift на следующий код:

Код: Выделить всё

import UIKit

// Change this to extend UITabBarController to see the difference in behavior
class ViewController: MyTabBarController {
override func viewDidLoad() {
super.viewDidLoad()

// Just as an example - show a bunch of tabs
viewControllers = [
UINavigationController(rootViewController: TableViewController()),
UINavigationController(rootViewController: TableViewController()),
UINavigationController(rootViewController: TableViewController()),
UINavigationController(rootViewController: TableViewController()),
]
}
}
< /code>
Убедитесь, что цель развертывания проекта - IOS 18 (или даже iOS 15, 16 или 17). Создайте и запустите приложение против iOS 18 (или iOS 26) iPhone (реального или моделируемого). Вы увидите панель вкладок с 4 идентичными вкладками. Каждая вкладка имеет представление о таблице с 20 строками. < /P>
ios 18: < /p>
Прокрутите внизу на одной из вкладок, чтобы вы могли увидеть всю строку 20.  Обратите внимание, что панель вкладок не станет ясной. Сравните с тем, как изменяется навигация, когда вы прокручиваете вверх (все строки 1 видны). < /P>
ios 26: < /p>
Обратите внимание, что строки за панелью вкладок вообще не исчезают. Немного прокрутите вниз и обратите внимание, как ряды, идущие за батонкой, исчезают. То же самое должно происходить с строками за строкой вкладок. Создайте и запустите снова и обратите внимание, как ведет себя стержень вкладок. Я пытаюсь повторить то же поведение вокруг строки вкладок. Что у меня нет? Я искал это, форумы разработчиков Apple, и GitHub, и до сих пор я не нашел ни одного примера, который решает этот кусочек функциональности. < /P>

Вот набор изображений, показывающих разные результаты.ViewController
Extends uitabbarController , ios 18, tab Bar, показывающая стандартную внешность:

Код: Выделить всё

ViewController
Extends uitabbarcontroller , ios 18, bar Tab, показывающая внешний вид мощности прокрутки (стержень вкладок очищается, позволяя полноценному представлению таблицы):
pr>/pr>/pr> persem.sstatic.net/nsovlt1p.

Код: Выделить всё

ViewController
расширяет mytabbarcontroller , ios 18, tab Bar, показывающая стандартное появление (это работает нормально):

Код: Выделить всё

ViewController
расширяет mytabbarcontroller , ios 18, пачка вкладок, неправильно показывающая стандартное появление (что частично полученное и только позволяет оттенок зеленого из вида таблицы, чтобы показать):
< /p>

Код: Выделить всё

ViewController
Extends uitabbarcontroller , ios 26, панель вкладок, показывающая стандартный внешний вид и выцветшие строки за панелью вкладок (измененные на 3 вкладка вместо 4, чтобы лучше увидеть эффект):


Подробнее здесь: https://stackoverflow.com/questions/796 ... -uitabbarc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»