下面是我的代码,我试图通过状态栏获得信号强度.
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
Run Code Online (Sandbox Code Playgroud)
发生崩溃(iOS 11,Xcode 9,iPhone X): -
[UIStatusBar_Modern valueForUndefinedKey:]:此类不是键值前景视图的键值编码兼容
在较新的 Android 设备中,可以使用面部解锁手机。Iphone X 也可以实现这一点。
有没有办法使用这些传感器/摄像头来检查用户是否正在看屏幕?
编辑: 我发现谷歌还有一个Vision Framework:Vision Framework
我有一个带有选项卡栏的项目,并且每个选项卡都有一个自定义导航栏。每个导航栏UIView在情节提要中都设置了一个高度限制常数。
我想将此NSLayoutConstraint子类化(用于Nav高度),以便它更改iPhone X的高度。导航栏在iPhone X上需要更高,并且因为我没有使用“开箱即用”的功能对象,我的约束需要手动设置。
本质上,我想在子类中执行以下操作,因此无需重复执行一堆代码并避免不必要的出口:
override func viewWillLayoutSubviews() {
navBarHeightConstraint.constant = navBarHeightConstraintConstant()
}
func navBarHeightConstraintConstant() -> CGFloat {
switch(UIScreen.main.bounds.height) {
case 812: // iPhone X
return 90
default: // all others
return 64
}
}
Run Code Online (Sandbox Code Playgroud)
我已经创建了子类,但是不知道使用什么方法来执行上述代码。
class NavHeightFixiPhoneXConstraint: NSLayoutConstraint {
// Nothing... yet!
}
Run Code Online (Sandbox Code Playgroud)
我如何子类化NSLayoutConstraint以便它仅显示iPhone X的特定值?
我刚刚在Xcode 9.1中运行了我在iPhone X模拟器上开发的应用程序.当我点击UITextView内部时,不会出现软键盘.它在iPhone 8模拟器中工作正常.为了解决问题,我在iPhone X模拟器上运行了日历应用程序并选择了搜索图标.再次,没有弹出键盘.
其他人看到这种行为或有修复?
我希望 collectionView的内容从屏幕的最顶部(状态栏的顶部)开始,因为我有透明的导航栏,我想避免使用魔术数字,它应该适用于iPhone X和其他iPhone.
我试过了什么?
collectionView.contentInset = UIEdgeInsets(top: -64, left: 0, bottom: 0, right: 0)
但它并不是一个优雅的解决方案,而且对于iPhone X而言,需要增加插入是不正确的
有清洁的解决方案
目标iOS 10和11
我对此很陌生,如果这是一个愚蠢的问题,那就很抱歉.如何让我的Xamarin.Forms应用程序在状态栏下方或缺口处开始?我尝试过使用过NavigationPage,但是它开始磨损屏幕顶部.我还看到了其他一些解决方案,但我无法使其发挥作用.有人可以帮忙吗?
谢谢!
我有一个应用程序,它将访问相机的曝光模式设置,以使用自定义值更改相机的快门速度。它在除 iPhone X 之外的大多数设备中都能按预期工作。下面是我正在使用的代码,
do {
try captureDevice.lockForConfiguration()
captureDevice.setExposureModeCustom(duration: CMTimeMake(1,30), iso: 120, completionHandler: { (time) in
})
captureDevice.unlockForConfiguration()
} catch {
debugPrint(error)
}
Run Code Online (Sandbox Code Playgroud)
上面的行崩溃了,崩溃日志显示要检查是否isExposureModeSupported.
我的问题是什么,我们可以检查isExposureModeSupported,但是是否所有的iPhone X设备都不支持自定义曝光模式?如果是这样,我们如何才能在 iPhone X 中支持自定义曝光模式?
或者我们需要更改相机设置中的任何内容吗?
有人可以帮忙吗?
我想知道有没有什么办法可以给 iPhone X SafeArea 添加两种不同的颜色?
在React Native此可以通过增加两个固定SafeAreaView。有谁知道如何在颤振上解决这个问题?
谢谢
@override
Widget build(BuildContext context) {
return Container(
color: Colors.blue,
child: SafeArea(
left: true,
top: true,
right: true,
bottom: true,
child: Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
),
),
);
}
Run Code Online (Sandbox Code Playgroud) 新的iPhone X已经摆脱了主页按钮,并在最底部更换了一个"家用指示灯",允许用户向上滑动以返回主屏幕.
我的问题是,我们如何检测这个家庭指示器是否在屏幕上?我想做的事情如下:
if (!notfullScreen)
{
if (swipeBarExists)
{
viewHeight -= swipeBarHeight;
}
}
Run Code Online (Sandbox Code Playgroud)
我登记入住,[UIApplication sharedApplication]一无所获.基本上我真的不知道该怎么称呼这个东西而且我很难找到答案.
iphone-x ×10
ios ×5
swift ×4
ios11 ×2
xcode9 ×2
android ×1
avfoundation ×1
cocoa-touch ×1
flutter ×1
iphone ×1
safeareaview ×1
subclass ×1
uistatusbar ×1
xamarin.ios ×1