searchBar不在NavigationItem中居中

时间:2018-09-18 13:59:16

标签: ios swift uitabbarcontroller navigationitem

当前状态 Current Status

我正在以编程方式进行操作。我也尝试将其设置为TitleView,但无法正常工作。 下面的代码:

        //searchBar
    let searchController = UISearchController(searchResultsController: nil)
    searchController.searchResultsUpdater = self
    searchController.obscuresBackgroundDuringPresentation = false
    searchController.searchBar.placeholder = "Search Players"
    navigationItem.searchController = searchController
    navigationItem.hidesSearchBarWhenScrolling = false
    definesPresentationContext = true

选择后,我在searchBar下还有一个ScopeBar。 如果我这样做:

searchController.titleView = searchController.searchBar 

它就位了,但是我无法再选择/点击searchBar。

3 个答案:

答案 0 :(得分:0)

对我来说,您的示例效果很好,但也许您可以使用它。

   private static Thread tPrgBarfrm;
   private static frmProgressBar frmProgBar;

   //Launching the window
   (tPrgBarfrm = new Thread(() => System.Windows.Forms.Application.Run(new frmProgressBar()))).Start();//working

   //Update the label in the form
   frmProgBar.UpdateStatusMessage("Completed Calc Sheet");

  //Closing
  tPrgBarfrm.Abort();

您可以在此处将搜索栏插入导航。 您能解释一下表格视图标题中的搜索栏有什么问题吗?什么不起作用?

答案 1 :(得分:0)

如果您的iOS版本大于ios11或等于ios11,则应这样添加

navigationItem.searchController = searchController

其他

navigationItem.titleView = searchController.searchBar

您还应该提供更多详细信息

答案 2 :(得分:0)

一种可行的方法是使用边界将其设置为手动居中。但是在激活搜索栏(单击)时,它会再次混乱,需要重新设置。

searchController.searchBar.bounds=CGRectInset(searchController.searchBar.frame, 0.0f, -2.5f);