标签: safearealayoutguide

iPhone X上UIScrollView左侧的不需要的空白区域

UIScrollView 除iPhone X外,所有iPad或iPhone上的左侧空白区域都能正常工作.如何删除空格?

我用的是故事板.弹出滚动/缩放全部被禁用.除iPhone X外,iPad或iPhone上没有空白区域.我认为它可能与安全区域有关.

在此输入图像描述

background-color uiscrollview ios safearealayoutguide iphone-x

10
推荐指数
3
解决办法
3652
查看次数

安全区域布局指南不适用于故事板中的UITableViewController

似乎UITableViewController没有安全区域布局指南将表视图顶部和底部边距设置为与iPhone X中底部布局的碰撞,所有视图控制器都能正常工作,故事板中的安全区域布局指南用于上下边距.除UITableView控制器外,请帮助解决此问题.

作为参考,我附上了iPhoneX的截图.在那里你可以看到字符串"小麦"不适合在底部安全区域内.

在此输入图像描述

uitableview ios uistoryboard safearealayoutguide iphone-x

10
推荐指数
1
解决办法
5977
查看次数

安全区和导航栏

我正在尝试在 xib 中添加一个导航栏,但导航栏没有填充到顶部,它在相机凹口所在的位置上方留下了空间。请看下面的截图:

在此处输入图片说明

以下是我对导航栏的限制:

在此处输入图片说明

我还尝试将导航栏的顶部约束设置为超级视图。这是这样做的结果:

在此处输入图片说明

我不敢相信这很难。我在这里错过了什么?

uinavigationbar ios autolayout safearealayoutguide iphone-x

10
推荐指数
2
解决办法
6100
查看次数

如何在 iPhone x 中设置安全区域布局

我正在开发 Xamarin 表单应用程序,我的应用程序似乎在顶部设置了安全区域。但需要忽略它。

当前场景:

在此处输入图片说明

例外情况:

在此处输入图片说明

我在谷歌上搜索过这个并获得了以下链接,按照以下链接中所述进行了尝试,但没有任何效果。

https://forums.xamarin.com/discussion/104945/iphone-x-and-safe-margins-with-xamarin-forms
https://blog.xamarin.com/making-ios-11-even-easier-xamarin -形式/

但不知道如何在上面链接中提到的以下行中访问Xamarin 表单内容页面下的SetPrefersLargeTitles

On<Xamarin.Forms.PlatformConfiguration.iOS>().SetPrefersLargeTitles(true);
Run Code Online (Sandbox Code Playgroud)

将安全区域设置为真实输出后,如下所示, 在此处输入图片说明

请帮我解决这个问题。

问候, 切兰

xamarin.ios xamarin xamarin.forms safearealayoutguide

9
推荐指数
1
解决办法
7537
查看次数

当 UITabbar 隐藏时,SafeArea 插图不会更新

我正在使用基于选项卡栏的应用程序,并且在详细信息屏幕上选项卡栏被隐藏。问题是当选项卡栏隐藏时,它仍然会占据选项卡栏的空白区域并且safeAreaLayoutInsets不会更新。当方向改变或从背景移动到前景时,它会起作用。

self.tabBarController.tabBar.hidden = YES;
Run Code Online (Sandbox Code Playgroud)

查看层次结构

UITabbarController
  |--UISplitViewController
     |--UIViewController (first VC)
        |--UINavigationController
           |--UIViewController (second VC)
Run Code Online (Sandbox Code Playgroud)

该问题与Apple 论坛中报告的问题类似

applet objective-c tabbar ios safearealayoutguide

9
推荐指数
1
解决办法
1777
查看次数

检测共享扩展上的安全区域插入

我正在调整一个应用程序来支持iPhone X.我有一个自定义视图控制器的共享扩展.我需要知道我的设备的安全区域插入,但是通过调用提供的safeAreaInsets方法在共享扩展中不可用,因为在那里不可见.有没有办法知道我的共享扩展中的属性值?UIWindowUIApplication.shared.keyWindowUIApplication.sharedsafeAreaInsets

share-extension ios11 safearealayoutguide iphone-x

8
推荐指数
1
解决办法
599
查看次数

MKMapView忽略了iOS 11和iPhone X上的安全区域

我正在尝试将应用程序迁移到iOS 11,而且几天后我又遇到了一个丑陋的UI错误.这次:MKMapView.我有一堆按钮,我固定到安全区布局指南,一切正常 - 除了MKMapView.

它完全忽略了安全区域,因此指南针和法律按钮隐藏在条形图或我自己的UI元素下.为了验证,我创建了一个只有一个普通UIViewController的新项目.然后我添加了一个MKMapView并配置了自定义的"additionalSafeAreaInsets",它们确实被完全忽略了.

更糟糕的是,即使只使用MKMapView,合法标签在iPhone X上也显得非常错误.

问题:有没有什么方法可以插入法律标签和指南针,以免被自定义视图隐藏?

在此输入图像描述

iphone mapkit mkmapview ios safearealayoutguide

8
推荐指数
1
解决办法
1060
查看次数

如何以编程方式添加安全区域

打开视图时,它将如下图所示,

我打电话x打开视图

我打电话8打开视图

对于iphone x,我想在当前视图中以编程方式添加安全区域.

尝试的来源如下.

UIView *view = self.view;

if (@available(iOS 11.0, *)) {
    UILayoutGuide * guide = view.safeAreaLayoutGuide;
    [view.topAnchor constraintEqualToAnchor:guide.topAnchor].active = YES;
    [view.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor].active = YES;
}
Run Code Online (Sandbox Code Playgroud)

我想应用这个来源,但我不知道该怎么做.

请回答我的问题.

objective-c ios ios11 xcode9 safearealayoutguide

8
推荐指数
1
解决办法
1万
查看次数

SpriteKit-安全区域布局Iphone X

因此,目前,我有一个使用精灵套件制作的游戏,并使用这种方式将所有内容调整到屏幕尺寸:

buyButton = SKSpriteNode(texture: SKTexture(imageNamed: "BuyButton"), color: .clear, size: CGSize(width: frame.maxX / 2.9, height: frame.maxY / 10))
buyButton.position = CGPoint(x:-frame.maxX + frame.midX*2, y: -frame.maxY + frame.midY*1.655)
addChild(buyButton)
Run Code Online (Sandbox Code Playgroud)

如您所见,它使用框架来计算宽度和高度以及节点在场景中的位置,这适用于从6s到8 Plus的所有屏幕尺寸。但是当谈到iPhone X时,就出现了问题。它似乎可以拉伸所有东西,因为与iPhone 8 Plus相比,屏幕尺寸更大且形状奇特,如下图所示

我一直在寻找这个问题的解决方案,但没有一个真正的帮助,或只是甚至更糟糕的是,我无法理解如何通过编程在该解决方案使用安全区域布局在我的精灵套件的项目像这里

我的问题是

我该如何使所有内容都适合iPhone X的屏幕,以使其适合并且不会切断得分标签和我右上角的内容?

编辑2:

itemDescriptionLabel = UILabel(frame: CGRect(x: frame.maxX - 150, y: frame.maxY - 130 , width: frame.maxX / 0.7, height: frame.maxY / 3.5))
itemDescriptionLabel.font = UIFont(name: "SFCompactRounded-Light", size: 17)
itemDescriptionLabel.text = "This purchase stops all the popup ads that happen after a certain amount of …
Run Code Online (Sandbox Code Playgroud)

iphone ios sprite-kit swift safearealayoutguide

7
推荐指数
2
解决办法
3183
查看次数

强制更新子视图控制器的safeAreaInsets

我有一个rootViewController带有子视图控制器(fullScreenViewController)的子视图控制器,该视图不时显示的视图上方(但作为子视图)rootViewController,占据了整个屏幕。

rootViewController.addChildViewController( fullScreenViewController ) rootViewController.view.addSubview( fullScreenViewController.view )

这种“全屏演示”是通过约束更新而不是通过使用来完成的present()(这样做有充分的理由)。

当我第一次初始化fullScreenViewController并将其添加为的子视图控制器时rootViewController,然后更新约束以使其出现在屏幕上,safeAreaInsets都已正确设置。

但是,稍后,当我rootViewController实际执行present()模态VC,并且该VC已被dismiss()编辑时,safeAreaInsets上的fullScreenViewController不再正确,并且fullScreenViewController幻灯片中的内容会在状态栏的顶部向上滑动。

我怎样才能迫使safeAreaInsetsfullScreenViewController得到适当的重新计算,使他们在比赛rootViewController他们安装后做的方式?

根据文档,rootViewController应该在所有childViewControllers 上正确设置safeAreaInsets ,但事实并非如此。

安全区域插图正确

安全区域插图不正确

ios autolayout safearealayoutguide

7
推荐指数
1
解决办法
817
查看次数