小编War*_*shi的帖子

如何在iOS 7上更改状态栏背景颜色和文本颜色?

我目前的应用程序在iOS 5和6上运行.

导航栏为橙色,状态栏为黑色背景颜色,白色为文本颜色.但是,当我在iOS 7上运行相同的应用程序时,我发现状态栏看起来是透明的,具有与导航栏相同的橙色背景颜色,状态栏文本颜色为黑色.

由于这个原因,我无法区分状态栏和导航栏.

如何使状态栏看起来与iOS 5和6中的状态相同,即黑色背景颜色和白色文本颜色?我该如何以编程方式执行此操作?

uicolor ios ios7 ios-statusbar

82
推荐指数
11
解决办法
21万
查看次数

检查自动续订订阅是否仍然有效

每当我打开应用程序时,我都想检查自动可续订订阅状态.

这是为了确保用户仍然订阅了该服务.我该如何实现这一目标?

有什么想法吗?谢谢

PS:我正在使用 SwiftyStoreKit

storekit ios swift swiftystorekit

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

如何知道给定字体名称允许的最大字体大小?

有没有办法知道字体允许的最大大小.

我在做

textInputTextView.font = [UIFont fontWithName:currentFontName size:doubleFontSize];
frame.size = textInputTextView.contentSize;
Run Code Online (Sandbox Code Playgroud)

对于不同的字体,当doubleFontSize超过70时,我得错了contentSize.对于某些字体,当doubleFontSize变量只有40 时,我得错了contentSize .

我猜测textView.font = doubleSizeFont对于那些特定的字体来说太大了.当字体大小在10到30之间时,一切正常.

有没有办法知道特定字体允许的最大大小?

细节:

我需要来自UITextView图像.我正在使用 UIGraphicsGetImageFromCurrentImageContext图像生成ok.但我意识到图像质量很低.所以我试着让TextView框架和字体加倍.

当我写大字体"我是一个好孩子",如果是最正确的词.我得到"我是个男孩"最正确的词语消失我在图像的右侧得到一些空白.多么悲惨 :)

objective-c ios

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

ARKit是否支持iPhone SE?

来自https://developer.apple.com/arkit/:

ARKit运行在Apple A9,A10和A11处理器上.

来自https://www.apple.com/iphone-se/specs/:

采用64位架构的A9芯片.

但是从iOS设备兼容性参考:

在此输入图像描述

这表示iPhone SE与ARKit不兼容.有人可以为我澄清一下吗?

更新: Apple更新了表格.现在iPhone SE显示与ARKit兼容.

ios iphone-se ios11 arkit

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

在Swift中处理未捕获的异常valueForUndefinedKey

我有一个第三方库类,其源代码不对我开放.例如这样:

class MyClass: NSObject {
    let myProperty = 10
} 
Run Code Online (Sandbox Code Playgroud)

我可以得到这样的myProperty价值.

let test = MyClass().value(forKey: "myProperty")  // 10
Run Code Online (Sandbox Code Playgroud)

我想检查是否myProperty存在MyClass.原因是如果第三方类实现将来发生变化,我不希望我的应用程序崩溃.

为了测试,我试过了

guard let test = MyClass().value(forKey: "myProperty1") else { return }  // crash
Run Code Online (Sandbox Code Playgroud)
if let test = MyClass().value(forKey: "myProperty1") { }  // crash
Run Code Online (Sandbox Code Playgroud)
do {
    let test = try MyClass().value(forKey: "myProperty1")  // crash
} catch { }
Run Code Online (Sandbox Code Playgroud)

在各方面我都崩溃了.

***由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[<__ lldb_expr_80.MyClass 0x608000223a00> valueForUndefinedKey:]:此类不是密钥myProperty1的密码值编码.

error-handling runtime-error ios swift nsunknownkeyexception

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

快速范围大于下限

我需要像这样实现经验过滤器

  • 0至2年
  • 2到4年

如何在快速范围内表达?

问题是我不能表达超过2至4年.虽然我可以做不到上限.比如这样

let underTen = 0.0..<10.0
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西(大于下限)

let uptoTwo = 0.0...2.0
let twoPlus = 2.0>..4.0  // compiler error
Run Code Online (Sandbox Code Playgroud)

目前我在做

let twoPlus = 2.1...4.0
Run Code Online (Sandbox Code Playgroud)

但这并不完美.

nsrange swift swift3

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

注销时取消注册远程通知

关于 unregisterForRemoteNotifications

来自苹果医生

您应该在极少数情况下调用此方法,例如当新版本的应用程序删除对所有类型的远程通知的支持时.用户可以通过"设置"应用的"通知"部分暂时阻止应用接收远程通知.通过此方法取消注册的应用程序始终可以重新注册.

有些人说:

调用它有时会使app处于调用registerForRemoteNotifications不再有效的状态.

为什么apple告诉我们极少数情况下使用它,并给出了一个极端的例子,如果新版本的应用程序完全删除推送通知支持.它不适合退出按钮操作吗?

在我们的应用中,用户可以使用多个设备登录 如果unregisterForRemoteNotifications运作良好会容易得多.有人unregisterForRemoteNotifications在退出按钮上使用?

objective-c push-notification ios swift

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