小编Log*_*gan的帖子

点击"Project Navigator"时Xcode文件夹自动扩展

每当我重新打开Xcode左侧的Project Navigator选项卡(IE从它移动到另一个选项卡并返回它)时,我的文件夹和子文件夹都会"神奇地"自行扩展.我似乎无法弄清问题是什么.每次都让我自己坍塌它们真的很令人沮丧(即使有选项 - 箭头键快捷方式).

还有其他人经历过这个吗?

xcode

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

来自封闭应用程序的通用链接不起作用

我有我的应用程序设置来处理通用链接。我们处理 URL 的检索,以及在此函数中给定 URL 的导航:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        guard NSUserActivityTypeBrowsingWeb == userActivity.activityType, let url = userActivity.webpageURL else {
            return false
        }
        // Do navigation to correct page based on URL
        return true
    }
Run Code Online (Sandbox Code Playgroud)

当我们的应用程序之前在后台运行时,这对我们来说非常有效,并且点击了一个通用链接。

但是,当我完全终止应用程序并单击通用链接时,此功能似乎没有运行,因此它根本不处理通用链接,它只是将用户带到主页选项卡。

我试过抓取其中的 URL application(didFinishLaunchingWithOptions:)application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:])但似乎也没有调用它们。

有没有人对此有任何想法?

谢谢!

appdelegate swift ios-universal-links

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

Swift协议的通用类

我有一个像这样的基本协议:

public protocol BasicSwiftClassLayout { var nibName: String { get } }

我的班级是这样的:

public class BasicSwiftClass<Layout: BasicSwiftClassLayout> {}

我已经定义了2个不同的结构,以便我可以用2个不同的笔尖启动这个类:

public struct NormalLayout: BasicSwiftClassLayout { public let nibName = "NormalLayoutNibName" }

public struct OtherLayout: BasicSwiftClassLayout { public let nibName = "OtherLayoutNibName }

我现在有2个问题基于此.

  1. 我想使用Layout变量来检索此类启动的nib名称.因此,如果我要将此类作为以下内容启动:let myView = BasicSwiftClass<NormalLayout>我希望能够为类中的NormalLayout检索nibName("NormalLayoutNibName").我会想做类似的事情,let myNib = Layout.nibName但它只是告诉我Instance member nibName cannot be used on type Layout所以如何去检索nibName?

  2. 当我没有将泛型类添加到我的课程中时它只是public class BasicSwiftClass,那classForCoder就是MyProject.BasicSwiftClass.现在我已经添加了通用行为,classForCoder正在返回,MyProject.BasicSwiftClass<Layout.NormalLayout>因为在调用时不再返回正确的包let bundle = …

generics protocols generic-programming swift

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

在后退按钮上推送没有标题的导航控制器

我目前有视图控制器 A 和视图控制器 B。

按下按钮时,视图控制器 A 将 vc B 推到它的 navigationController 上:

navigationController?.pushViewController(viewControllerB, animated: true)

VC A 有一个导航栏,上面有一个标题“View Controller A Title”

希望VC B 有一个左按钮,它是一个后退按钮和一个标题,“视图控制器 B 标题”

目前,当我将 VC B 推到导航控制器上时,VC A 的标题与它一起出现在左后箭头上,所以它看起来像

< View Controller A Title View Controller B Title

我如何摆脱 VC A 标题?

我试过设置左栏按钮项,后栏按钮项,但都没有成功。

我发现删除该标题的唯一方法是

navigationController?.navigationBar.items?.forEach({ $0.title = "" }) 在 VC B 的 viewDidLoad 内部,但是当我单击后退箭头时,VC A 中当然缺少标题

我为上面列出的这个解决方案找到的唯一解决方案是在 VC A 的 viewDidAppear 中设置 navigationItem.title,但是从标题实际显示大约有 1/2 秒的延迟,这并不理想。

有没有更好的方法让这个标题不与导航左栏项目一起出现?

先感谢您!

uinavigationcontroller uibarbuttonitem pushviewcontroller navigationbar swift

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

UIStackView 内的 UIView 动态高度

我目前有一个 Stack View 设置,里面有一堆不同的对象,我正在尝试向它添加一个视图。

该视图将在运行时以编程方式在其中添加动态数量的标签。

当我将视图放在堆栈视图中时,我会收到约束错误,这可以通过添加高度约束来修复。

但是,我最初不知道视图的高度,因此无法对此进行限制。

有什么方法可以根据内容大小在 StackView 中自动调整大小?我认为这会是自动的,但是当我不设置高度限制时,视图不会显示

uiview ios swift uistackview

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

带有消息和秘密 Google 表格的 SHA512 哈希值

我对谷歌表格脚本编程很陌生。

我正在尝试使用消息计算 SHA512 哈希并使用我的密钥对其进行加密。

在 PDP 中,我有:$sign=hash_hmac('sha512',$message,$secret);

先感谢您!

hmac google-sheets sha512 google-apps-script

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