标签: iphone-x

如何使用Objective C iOS从iPhone X中的表视图顶部删除多余空间

我已经在Objective C中开发了一个应用程序,它在所有iPhone手机上运行良好.但是当我在iPhone X Simulator中运行这个应用程序时,我不知道如何在UITableView的顶部获得一些额外的空间(大约20-22像素).我尝试了所有这些解决方案,但以下都没有帮助我:

self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)];

self.edgesForExtendedLayout = UIRectEdgeNone;

[tblProducts setSectionHeaderHeight:0];

self.automaticallyAdjustsScrollViewInsets = NO;

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}
Run Code Online (Sandbox Code Playgroud)

我知道这可以通过设置我的表视图contentInset来实现:

tblProducts.contentInset = UIEdgeInsetsMake(-30, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

有没有其他解决方案来解决iPhone X的这个问题?

我在ViewDidLoad中查看了我的表视图框,它是(0,64,WIDTH,HEIGHT),状态栏有问题吗?

请建议我.先感谢您!

iphone objective-c uitableview ios iphone-x

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

在 iPhone X 上同时打开手电筒/手电筒和相机

AVCaptureSession在 iPhone X 上以视频模式运行时,有没有办法让手电筒保持打开状态?

我有 Swift 4 代码,可以打开手电筒,然后开始从相机获取视频帧。我知道它适用于 iPhone 4,5 和 6。但是对于 iPhone X,当我开始捕获会话时,手电筒没有亮起。

session = AVCaptureSession()
if self.session.canSetSessionPreset(AVCaptureSession.Preset.inputPriority) {
    self.session.sessionPreset = .inputPriority
}
//This is the wide angle camera device
camera = AVCaptureDevice.default(for: AVMediaType.video)
//I could also use telephoto, same problem
//camera = AVCaptureDevice.default(.builtInTelephotoCamera, for: AVMediaType.video, position: .unspecified)
if camera == nil {
    return
}
if self.camera.isTorchModeSupported(.on) {
    camera.activeFormat = selectBestFormat(camera.formats)
    camera.torchMode = .on
    try? camera.setTorchModeOn(level: 1.0)
    camera.unlockForConfiguration()
}

let cameraInput = try! AVCaptureDeviceInput(device: self.camera)


let videoOutput = …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios iphone-x

2
推荐指数
1
解决办法
3690
查看次数

更改键盘扩展中的视图高度 (iPhone X)

我有以下问题:我构建了一个键盘扩展,这是系统键盘的替代键盘。在所有较旧的 iPhone 型号中,它都可以正常工作,但在 iPhone X 上则不然。我的问题是,键盘视图的高度从 216px (iPhone 8 ,8+ , ...) 减少到 141px (iPhone X)。由于高度较低,我的键盘按钮现在更小,以达到良好的用户可用性。

我确实使用了 .xib 文件来创建 UI,我以编程方式添加所有 UI - 项目。

iPhone 8 iPhone X

我的问题

是否可以为键盘扩展视图获得更多空间(高度)(特别是 iPhone X)?

swift ios-keyboard-extension swift4 iphone-x

2
推荐指数
1
解决办法
1698
查看次数

如何处理safeAreaView + React Navigation?

在此处输入图片说明

第一个屏幕截图未应用SafeAreaView,第二个屏幕截图正在应用SafeAreaView

在此处输入图片说明

如清楚所示,Stack header与以前相比,它看起来笨重。无论如何,有什么我们可以SafeAreaView只适用于底部的?

react-native react-navigation iphone-x

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

LaunchScreen.storyboard 在 iPhone X 上没有全高

我正在尝试在新的 Xcode 项目上设置启动图像,但无论我在 LaunchScreen.storyboard 中更改什么,应用程序和启动画面都不会占据 iPhone X 屏幕的整个高度。但是更改确实生效,所以我知道这是正确的文件。

故事板设置: Xcode 窗口显示启动屏幕故事板

在我的图标/启动设置上使用它:

启动屏幕和应用程序图标的设置

我在手机上看到的,记住状态栏被切断了......也许这与它有关?

设备上启动屏幕的屏幕截图

ios uistoryboard iphone-x

2
推荐指数
3
解决办法
5350
查看次数

在新手机中 React Native 应用程序“全屏”

我的目标是使应用程序全屏显示状态栏在 Android 和 iPhone 中可见,就像在 Expo 中一样,但在 React Native 中

这是正在发生的事情:

我的目标是移除这个灰色部分,让应用占据这部分,同时显示状态栏,就像在 Expo 中一样。

我已经试过了:https : //reactnative.dev/docs/statusbar.html#sethidden

但是所有的灰色顶部都变成黑色并且没有状态栏

我已经尝试将其添加到 Android 中的 styles.xml 中:

<item name="android:windowFullscreen">true</item>
Run Code Online (Sandbox Code Playgroud)

但什么都没有改变(并且只能在 Android 中使用)

statusbar react-native android-navigation-bar iphone-x android-9.0-pie

2
推荐指数
1
解决办法
2745
查看次数

iphone X 模拟器上的软件键盘

如何在 iPhone X 模拟器上模拟键盘?由于某种原因,菜单中的“切换软件键盘”选项被禁用,这在任何其他设备模拟器中都没有发生。

在此处输入图片说明

谢谢

ios ios-simulator xcode9 iphone-x

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

在 iPhone X 上与屏幕边缘对齐

如何将视图与安全区域之外的屏幕顶部边缘对齐?

在此处输入图片说明

xcode ios iphone-x

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

iOS 11.当尝试更改界面的方向时,IPhone X中的UIScrollView会发生变化

我有两个UIViewController.第一个控制器仅用于纵向,它包含UIScrollView.第二个控制器仅用于横向.当我尝试从第一个屏幕打开第二个屏幕时,UIScrollView内容在第一个控制器上被X移动到-44.此行为仅适用于iPhone X.有谁知道为什么会发生这种情况?

ios ios11 iphone-x

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

如何在UIScrollview(iOS 11,iPhoneX)上摆脱safeAreaInsets

我有一个水平分页UIScrollview,以下是我的VFL前导/尾随约束H:|-0-[ScrollView]-0-|(与superview对齐).

safeAreaInsets在iPhone X中左/右横向.

这是一个错误吗?或者我错过任何Apple方式,当我们不需要时,这些插入不会被应用?

uiscrollview ios ios11 iphone-x

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

iPhone X 主页指示灯行为

我试图在 iPhone X 上模拟 home 指示器的行为,但不知道如何。在某些应用程序中,主页指示灯变暗,您必须滑动它才能激活正常行为。我在控制器中找到了一个隐藏指示器的选项,但这不是我要找的。例如,在 Clash Royale 和 Clash of Clans 中,home 指示灯变暗,然后当你向上滑动它时,指示灯变亮,如果你再次这样做,它会激活“home”。使用我发现的 API 隐藏指标真的只会让它表现得很奇怪。

这是我正在使用的 API,但它不像我在其他应用程序中看到的那样工作。启用自动隐藏后,指示器将消失,直到您滑动并立即调用主页操作。这不好,因为目的是防止无意中滑动到主屏幕:

override func prefersHomeIndicatorAutoHidden() -> Bool {
    return true
}
Run Code Online (Sandbox Code Playgroud)

我更喜欢的行为是指示灯变暗,然后在您向上滑动(但不是回家)时激活(变亮),然后再次向上滑动以触发主页。这种行为在 Supercell 应用程序中是不变的,但可能不是内置行为。

为了查看差异,您可以查看其中一个 Supercell 应用程序(在 iPhone X 上),并查看仅设置属性的应用程序。

view ios swift iphone-x

0
推荐指数
1
解决办法
2464
查看次数

试图在swift中检测iphone x总是返回false

我正在使用模拟器在iphone x上测试我的全部我已经搜索了能够检测到iPhone x的方法但是所有这些都返回false

这是他们的一种方法

struct Device {
        // iDevice detection code
        static let IS_IPAD             = UIDevice.current.userInterfaceIdiom == .pad
        static let IS_IPHONE           = UIDevice.current.userInterfaceIdiom == .phone
        static let IS_RETINA           = UIScreen.main.scale >= 2.0

        static let SCREEN_WIDTH        = Int(UIScreen.main.bounds.size.width)
        static let SCREEN_HEIGHT       = Int(UIScreen.main.bounds.size.height)
        static let SCREEN_MAX_LENGTH   = Int( max(SCREEN_WIDTH, SCREEN_HEIGHT) )
        static let SCREEN_MIN_LENGTH   = Int( min(SCREEN_WIDTH, SCREEN_HEIGHT) )

        static let IS_IPHONE_4_OR_LESS = IS_IPHONE && SCREEN_MAX_LENGTH  < 568
        static let IS_IPHONE_5         = IS_IPHONE && SCREEN_MAX_LENGTH == 568
        static let IS_IPHONE_6         = …
Run Code Online (Sandbox Code Playgroud)

xcode ios ios-simulator swift iphone-x

0
推荐指数
1
解决办法
469
查看次数

如何以编程方式确定 iPhone X Simulator?

我正在尝试为 iPhone X 调整我的应用程序的大小,但遇到了问题。目前我像这样定义屏幕尺寸:

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0)

#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))

#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)
Run Code Online (Sandbox Code Playgroud)

并根据电话类型进行约束。(是的,我知道不是最佳的,但它是我所做的)

当您使用 iPhone X 模拟器时,出于某种原因,它会像 iPhone 6 一样读取屏幕高度和宽度。

然后我搜索了 stack overflox 并发现了这个: 如何在 …

xcode objective-c ios iphone-x

-1
推荐指数
1
解决办法
1071
查看次数