相关疑难解决方法(0)

Swift 4 - iOS 11搜索栏范围不会出现

我有一个应用程序在iOS 10上运行良好且没有任何问题,但是对于iOS 11和Xcode Beta 5,我在搜索栏范围内遇到了这个奇怪的问题,其中范围栏似乎是从底部剪切的.(对于Xcode beta和iOS 11的所有版本都是如此)如果有人能让我朝着正确的方向前进,我真的很高兴.谢谢

初始屏幕

在上面你可以看到我按下汉堡菜单按钮时看到的内容.这里没问题..搜索栏还有一个范围栏,当点击时显示.我没有设置它以编程方式显示.但我想这是设置范围按钮标题时的默认行为.

问题:

问题

当我点击搜索栏输入信息时,我会看到上面的屏幕.在iOS 10上,我没有遇到任何问题.但是现在,在iOS 11中,无论我做什么,我都无法让它像在iOS 10上一样工作.搜索范围栏显示为从底部剪切.

这是它在iOS 10中的显示方式,我希望它在iOS 11中.

workingInIOS10

屏幕的故事板视图

故事板视图的屏幕

我在这里粘贴相关代码.

    class SlideMenuViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UISearchControllerDelegate,UIGestureRecognizerDelegate{

     let searchController = UISearchController(searchResultsController: nil)

    @IBOutlet var sview: UIView!

    @IBOutlet var tableView: UITableView!



override func viewWillAppear(_ animated: Bool) {
//some non relevant code before this

 if sview.subviews .contains(searchController.searchBar) {
            print("Already contains")


        } else {

            sview.addSubview(searchController.searchBar)
            print(searchController.searchBar.showsScopeBar)

            searchController.searchBar.sizeToFit()
            searchController.searchBar.frame.size.width = view.frame.size.width



          searchController.searchBar.barTintColor = searchBarTintColor

            searchController.searchBar.tintColor = searchTintColor
        }



    }


override func viewDidLoad() {

//some other code

searchController.searchBar.delegate = self

searchController.searchBar.scopeButtonTitles …
Run Code Online (Sandbox Code Playgroud)

uisearchbar ios swift4

3
推荐指数
1
解决办法
7204
查看次数

标签 统计

ios ×1

swift4 ×1

uisearchbar ×1