Bra*_*m-N 4 statusbar uinavigationbar ios swift large-title
当使用大标题和攻丝状态栏滚动到顶部UIScrollView或UITableView(也可能UICollectionView,没有测试),它总是过得有点过分.
我已启用刷新功能TableView,当点击状态栏时,它会显示为这样,并保持这种状态直到我点击屏幕.
我有一个ScrollView在另一个ViewController,如果我点击状态栏那里它也滚动了一点点太远,使导航栏太高.当我点击某处或滚动一点点时,这也会恢复正常.
这也只有在我激活了大型标题时才会发生,使用普通标题一切正常.
任何想法如何解决这一问题?
如何重新创建:
UIViewController有TableView内.UIViewControllerTableView以固定到边缘ViewControllerTableView在ViewControllertableView滚动到顶部现在标题不在它应该的位置,如果你现在向上或向下滚动一点点,它会快速回到正常位置.
ViewController 码:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 100
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TestCell", for: indexPath)
return cell
}
}
Run Code Online (Sandbox Code Playgroud)
好的,所以我找到了问题发生的原因,但没有找到如何解决这个问题.
如果您正在使用大型标题和UITableViewController,导航栏半透明设置为关闭,则会出现问题.当你转回半透明时问题消失了.
如果您在普通的UIViewController中使用TableView,则始终会出现问题.
编辑
如果您使用半透明导航栏,则设置"extendedLayoutIncludesOpaqueBars = true"可以解决问题!
类似的问题:iOS 11中的UIRefreshControl()Glitchy效果
| 归档时间: |
|
| 查看次数: |
2464 次 |
| 最近记录: |