我的应用程序是用自定义顶部栏而不是UINavigationBar构建的,以满足一些使用默认UINavigationBar无法轻松完成的要求,但是,在阅读答案后thisquestion,并将此顶部栏的3个约束(顶部、前导和尾部)更改为相对于安全区域而不是superView,我无法让安全区域自动为自身着色以匹配顶部栏的颜色,这是现在的样子:上面链接中的第一个答案建议手动为状态栏着色,但不幸的是这是不合理的,它使用私有(private)API来这样做。第二个答案建议为主视图提供背景颜色,但这也不合理,因为我需要为主视图提供不同的颜色。我怎样才能让不安全区域根据最近的连接到自动布局约束的Vie
我是Swift的新手。我已经以编程方式设置了我的顶部栏。它适用于除iOS版本11之外的所有版本。我想更改iPhoneX安全区域的背景颜色。目前我刚刚添加了以下代码来隐藏状态栏。overridevarprefersStatusBarHidden:Bool{returntrue}我使用代码创建了顶部栏://TopBarlettopBar=UIView(frame:CGRect(x:0,y:0,width:width,height:60))topBar.backgroundColor=UIColor.whitetopBar.layer.shadowColor=UIColor.gray.cgC
当我尝试将工作表与iPhoneX的安全区域对齐时,我对Xcode还很陌生,它在工作表下方留下了一个透明区域。有没有办法在不扩展工作表或在安全区域外对齐的情况下设置该区域的填充? 最佳答案 这是我的小扩展。如果有人可以建议改进以不通过“魔数(MagicNumber)”标签访问添加的View-欢迎!extensionUIViewController{privatestaticletinsetBackgroundViewTag=98721//CoolnumberfuncpaintSafeAreaBottomInset(withColorc
在iPhoneX上横向滑动子ViewController时,我在使用安全区域时遇到了困难。我有一个根ViewController,其中一个View是可移动的,并且包含一个嵌入式子ViewController。真正的应用程序是一个侧边栏滑动菜单UI。这里的示例代码是精简版。如果表格位于屏幕左侧,安全区域布局规则会将其单元格contentView插入右侧以允许凹口。正确的。但是如果我将子ViewController移离屏幕的左边缘,子的插图不会更新以重新布局内容。我已经意识到,如果子ViewController在其最终位置完全显示在屏幕上,那么实际上一切正常。如果它的任何部分在屏幕外,则不
我有一个简单的ViewController,其中一个View(map)固定到它的父View。该View嵌入在导航Controller上,但导航栏在iPhoneX上的安全区域(状态栏下方)下方开始。理想情况下,我希望该栏在状态栏下方(而不是下方)呈现在iPhoneX。我该怎么做?这是设置栏以使其半透明的方式://DesignSetUpletnavBar=UINavigationBar.appearance()navBar.setBackgroundImage(UIImage(),for:.default)navBar.backgroundColor=UIColor(displayP3Re
我的View顶部有一个textField,还有一个应该放在textField下方的tableView。所以我添加它们的代码如下所示:privatefuncsetupSearchBar(){searchtextField=UITextField()mapView.addSubview(searchtextField)searchtextField.translatesAutoresizingMaskIntoConstraints=falseletconstraints=[NSLayoutConstraint(item:searchtextField,attribute:.leading,
我的项目正在使用CircleCI构建单元测试,它使用XCode8。以下代码崩溃,因为它使用了UIView的属性safeAreaLayoutGuide,即使在检查了之后,该属性在iOS10SDK中也不存在>iOS11。if#available(iOS11,*){make.top.equalTo(testView.safeAreaLayoutGuide.snp.top)}testView是一个UIView。我们在这里向导航栏添加约束。有没有更好的方法来检查UIView是否有这个特定的属性可用?safeAreaLayoutGuide不是可选的。ErrorMessage:valueoftype
我在UINavigationController中使用单一ViewController创建了一个简单的项目。在ViewController中,我添加了UITableView并设置了contentInset.top=52。当我将某些ViewController插入导航堆栈并弹出时,大导航栏会折叠,如下图所示。但如果我不设置contentInset,一切都会正常工作。 最佳答案 您应该激活SafeAreaRelativeMargins和SafeAreaLayoutGuide:同样在界面构建器中将表格View固定到Superview而不是
Thisistheconfigurationofthestoryboard:seetheimage*看图片链接上方,支持iOS9到iOS11以下是工作代码解决方案:importUIKitimportWebKitclassViewController:UIViewController,WKUIDelegate,UIApplicationDelegate,WKNavigationDelegate{@IBOutletweakvarwebViewContainer:UIView!letrequestURLString="http://google.com/“varwebView:WKWebVi
如何为iPhoneX中外部安全区域的上部和底部区域设置不同的颜色,即图像中的点1和点2?如果我将颜色设置为主视图(第3点),那么它将应用于整个View。我想为安全区域的上部区域、安全区域和底部安全区域设置不同的颜色。 最佳答案 添加两个View并为它们提供背景颜色。如果在其他View中不需要,则将两个View的高度设置为0。 关于iphone-iPhoneX安全区域外的上下区域如何设置不同颜色,我们在StackOverflow上找到一个类似的问题: https