热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我应该如何使用UISplitView自适应用户界面呈现UISearchController?

如何解决《我应该如何使用UISplitView自适应用户界面呈现UISearchController?》经验,为你挑选了1个好方法。

使用具有自适应UISplitViewController用户界面的通用故事板.

我想使用以下代码(来自主视图控制器)在主(主)端提供搜索控制器:

static NSString * const kCGISearchViewCOntrollerID= @"SearchViewControllerID";

- (IBAction)searchButtonClicked:(UIBarButtonItem *)__unused sender {
    SearchViewController *searchResultsCOntroller= [self.storyboard instantiateViewControllerWithIdentifier:kCGISearchViewControllerID];
    self.searchCOntroller= [[UISearchController alloc] initWithSearchResultsController:searchResultsController];
    self.searchController.searchResultsUpdater = searchResultsController;
    self.searchController.hidesNavigatiOnBarDuringPresentation= NO;
    [self presentViewController:self.searchController animated:YES completion:nil];
}

它最初似乎正常工作(无论起始方向):

景观开始看起来很好

自动旋转后出现问题(键盘仍然可见,底层内容仍然变暗,但搜索栏已消失):

在此输入图像描述

旋转回横向时,搜索栏重新出现,但其宽度现在错误:

在此输入图像描述

(我也尝试将搜索控制器searchBar放入其中titleView.当searchBar正确适应时,搜索结果控制器仍然看起来不正确.)

UISearchController当UI适应不断变化的大小类时,我错过了什么才能正确地呈现动画本身?

更新:

添加self.definesPresentatiOnContext= YES;会使搜索栏/结果显示在主视图中,但搜索栏会该导航栏显示动画,并且不可见.另一个问题是,当它从纵向(具有状态栏)旋转回到横向时,搜索栏高度不会缩小.



1> Yariv Nissim..:

您正在使用哪个Xcode版本?模拟器上的哪个iOS版本?
尝试使用Xcode 6,iOS 8.4-这就是我在MasterVC中使用的所有代码:

class MasterViewController: UITableViewController {

    @IBAction func search(sender: UIBarButtonItem) {
        let searchCOntroller= UISearchController(searchResultsController: nil)
        searchController.hidesNavigatiOnBarDuringPresentation= false
        presentViewController(searchController, animated: true, completion: nil)
    }
...
}

它显示在母版中,并锁定屏幕的方向!自您发布答案以来,行为可能已更改。


推荐阅读
author-avatar
谁的FrankyCH
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有