在其他 VC 之上模态呈现 VC - 两者均可触摸

Present VC modally above other VC - both touchable

我想在另一个 VC 上方显示一个 VC,但希望两者都可点击且负责任。

我有一个文本字段,它打印出每个@符号后面的字符串。

当写 @ 时,我有一个 VC,它在第一个 VC 上方弹出一个小表格视图,稍后应该代表名称包含打印字符串的用户。

我需要第一个 vc 仍然负责,因为目前我无法在第二个弹出时单击第一个 VC 上的按钮和文本字段,即使我可以看到所有内容(将背景设置为清除)。

        if commentTextField.text!.contains("@"){
        print("changed textField")
        let vc = self.storyboard?.instantiateViewController(withIdentifier: "suggestedUsersViewController") as  UIViewController!
        vc?.modalPresentationStyle = .overCurrentContext
        vc?.view.backgroundColor = .clear


        present(vc!, animated: true, completion: nil)

    }

我如何得到@-符号后面的post

        let caption = commentTextField.text


    let words = caption?.components(separatedBy: CharacterSet.whitespacesAndNewlines)
    for var word in words! {
            if word.hasPrefix("@") {
                word = word.trimmingCharacters(in: CharacterSet.punctuationCharacters)

                print("wort ist", word)
            }
    }

目前它只在第一个 vc 上弹出,然后它不再可点击,我无法更改文本字段

图片

present 函数将使第二个视图控制器覆盖整个页面,您将无法再从屏幕访问顶部视图控制器下方的视图控制器。

要实现您的目标,您需要在视图上放置一个 UITableView,然后继续显示或隐藏该视图。如果你真的想要另一个视图控制器,你可以创建一个包含视图并嵌入到另一个视图控制器 view controller,就像这样