小编Luk*_*ger的帖子

在自定义UIView中添加自动布局约束代码的位置

我经常看到自动布局约束被添加UIViewController到我看来,这似乎是布局逻辑的错误位置.

可以NSLayoutConstraint在自定义中添加s UIView吗?

在哪里UIView可以通过编程方式添加它们?

uikit uiview ios autolayout swift

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

将NSTaggedPointerString转换为NSString

我已经调用了百度的界面来检查id号,但是当我在模块中使用它来存储它然后打印这个属性的类名时,性别的值返回时sex = M没有"" M在JSON中,它打印为,我怀疑如何将其转换为String以使用它.有人有好主意吗?NSStringsexNSTaggedPointerString

json objective-c afnetworking-2

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

动态设置tableHeaderView高度

我的应用程序创建了一个UITableViewController,它包含一个可能具有任意高度的自定义tableHeaderView.我一直在努力设置动态设置此标头,因为似乎建议的方法是缩短此标头.我的UITableViewController的相关代码:

import UIKit
import SafariServices

class RedditPostViewController: UITableViewController, NetworkCommunication, SubViewLaunchLinkManager {

    //MARK: UITableViewDataSource
    var post: PostData?
    var tree: CommentTree?
    weak var session: Session! = Session.sharedInstance

    override func viewDidLoad() {
        super.viewDidLoad()

        // Get post info from api
        guard let postData = post else { return }

        //Configure comment table
        self.tableView.registerClass(RedditPostCommentTableViewCell.self, forCellReuseIdentifier: "CommentCell")

       let tableHeader = PostView(withPost: postData, inViewController: self)
       let size = tableHeader.systemLayoutSizeFittingSize(UILayoutFittingExpandedSize)
       let height = size.height
       let width = size.width
       tableHeader.frame = CGRectMake(0, 0, width, height)
       self.tableView.tableHeaderView = tableHeader


       session.getRedditPost(postData) …
Run Code Online (Sandbox Code Playgroud)

ios autolayout swift

20
推荐指数
4
解决办法
3万
查看次数

UIDocumentMenuViewController取消呈现视图控制器

我有一个VC"A"模式提供VC"B".B表示UIDocumentMenuViewControllerUIDocumentMenuDelegate协议在B中实现.

只要documentMenuWasCancelled(_ documentMenu:)或者documentMenu(_:didPickDocumentPicker:)被称为dismiss(animated:completion:)B的被调用,我不知道为什么.

这是我的代码

func presentDocumentPicker() {
    let documentTypes = [
        kUTTypeCompositeContent as String,
        kUTTypePDF as String,
        "com.microsoft.word.doc",
        "vnd.openxmlformats-officedocument.wordprocessingml.document"
    ]
    let documentMenuViewController = UIDocumentMenuViewController(documentTypes: documentTypes, in: .import)
    documentMenuViewController.delegate = self
    present(documentMenuViewController, animated: true, completion: nil)
}

// MARK: - Document Menu View Controller Delegate

func documentMenu(_ documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
    print("did pick")
}

func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
    print("was cancelled")
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我在实现的委托函数中什么都不做.B仍然被解雇了.我不明白.

uiviewcontroller presentmodalviewcontroller ios swift uidocumentmenuvc

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

Swift Codable解码手动可选变量

我有以下代码.

import Foundation

let jsonData = """
[
    {"firstname": "Tom", "lastname": "Smith", "age": "28"},
    {"firstname": "Bob", "lastname": "Smith"}
]
""".data(using: .utf8)!

struct Person: Codable {
    let firstName, lastName: String
    let age: String?

    enum CodingKeys : String, CodingKey {
        case firstName = "firstname"
        case lastName = "lastname"
        case age
    }

    init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
        firstName = try values.decode(String.self, forKey: .firstName)
        lastName = try values.decode(String.self, forKey: .lastName)
        age = try values.decode(String.self, forKey: .age) …
Run Code Online (Sandbox Code Playgroud)

swift swift4 codable

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

仅刷新UITableView中的自定义标题视图?

我的UITableView在每个部分都有自定义的UIView标头.我只需要刷新标题而不是该部分中的其他内容.我已经尝试了UITableView,即使它应该也没有返回任何东西.无论如何我能做到这一点吗?

编辑:基于新建议的代码

我也给了它一个镜头,它在该方法中调用/更新UIView,但是这些更改不会在视觉上传播到屏幕上.

for (int i = 0; i < self.objects.count; i++) {
    UIView *headerView = [self tableView:self.tableView viewForHeaderInSection:i];
    [headerView setNeedsDisplay];
}
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios

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

Xcode 9 Server:由于系统资源不足,无法启动设备

我正在尝试通过在设置Xcode Bot时选中"并行运行测试"选项,同时在iOS 8.4到11.0的所有设备模拟器上运行我的单元测试.不幸的是,在尝试启动第13个模拟器后,它会在构建日志中出现错误消息:

xcodebuild: error: Failed to build workspace xxxxx with scheme yyyyy.
Reason: Unable to boot device due to insufficient system resources.
Testing failed on 'iPhone 4s'
Run Code Online (Sandbox Code Playgroud)

我在mac mini上运行服务器,我认为由于内存不足,它无法同时运行这么多模拟器.

谁有经验呢?

xcode ios ios-simulator xcode-server xcode9

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

使用 Apple 登录(iOS 应用程序 + 后端验证)API 返回错误“invalid_client”

我正在尝试使用 iOS 应用程序和后端实现使用 Apple 登录。目标是这样的:

  1. 用户登录 iOS 应用
  2. 在得到肯定响应后,应用程序调用后端的端点并移交 authorizationCode
  3. 后端现在需要authorizationCode通过另一个对苹果服务器的调用来验证。

在这里我很困惑。为了进行这个调用,后端需要提供一堆参数:

网址

https://appleid.apple.com/auth/token
Run Code Online (Sandbox Code Playgroud)

查询参数

client_id     = com.mycompany.appname
client_secret = ...
code          = ... // `authorizationCode` from the signin in the iOS app
grant_type    = authorization_code
Run Code Online (Sandbox Code Playgroud)

我已经产生JWTclient_secret

JWT 属性

header:
    kid: <key id, created on Apple Dev Portal>
claims:
    iss: <team id>
    iat: <current timestamp>
    exp: <current timestamp + 180 days>
    aud: "https://appleid.apple.com"
    sub: "com.mycompany.appname"
Run Code Online (Sandbox Code Playgroud)

昨天我在 Dev Portal 上为两个应用程序(A 和 B)创建了两个密钥,用它来生成秘密,今天应用程序 A …

oauth ios jwt apple-id sign-in-with-apple

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

NSImageView图像方面填充?

所以我习惯了UIImageView,并能够设置不同的方式来显示图像.比如AspectFill模式等......

我想在Mac应用程序上使用NSImageView完成同样的事情.在这方面,NSImageView的工作方式与UIImageView类似吗?或者我将如何在NSImageView中显示图像并选择不同的方式来显示该图像?

macos nsimageview

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

是否可以在High Sierra上的Xcode 10上启用暗模式?

我下载了xcode 10 beta并将其安装在我的macbook上,该macbook运行在maco 10.13.4 High Sierra上.我试图在xcode 10上启用黑暗模式,但我能找到怎么做?有什么建议,有可能吗?

upd:据我所知,xcode获取系统外观值并在该模式下呈现,因此必须可以在终端中使用某些命令

macos xcode ios

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