这些一般步骤对我有用,而无需使用SLComposeServiceViewController
(这是实现时提交的代码)。最后的图像显示了我们的结果,但第 6 步可以是任何东西,而不仅仅是表格。
步骤:
(代码)ShareViewController
改为简单UIViewController
(代码)添加模糊效果ShareViewController
(故事板)将容器视图添加到ShareViewController
(故事板)添加导航控制器
(故事板ShareViewController
)在容器视图中嵌入导航控制器
在导航控制器中自定义视图控制器(例如,参见这个 SO 线程)
步骤 1.ShareViewController
改为简单UIViewController
import UIKit
class ShareViewController: UIViewController {
// ^^^^^^^^^^^^^^^^
步骤 2. 添加模糊效果到ShareViewController
// ShareViewController continued from Step 1.
override func viewDidLoad() {
super.viewDidLoad()
// https://stackoverflow.com/questions/17041669/creating-a-blurring-overlay-view/25706250
// only apply the blur if the user hasn't disabled transparency effects
if UIAccessibilityIsReduceTransparencyEnabled() == false {
view.backgroundColor = .clear
let blurEffect = UIBlurEffect(style: .dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
//always fill the view
blurEffectView.frame = self.view.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
view.insertSubview(blurEffectView, at: 0)
} else {
view.backgroundColor = .black
}
// Do any additional setup after loading the view.
}
步骤 3. 将容器视图添加到ShareViewController
将Container View
对象库中的 a 拖到ShareViewController
情节提要上,并调整尺寸。例如:
步骤 4. 添加导航控制器
将导航控制器从对象库拖到情节提要。
步骤 5. 将导航控制器嵌入到ShareViewController
的容器视图中
按住 Control 从容器视图拖动ShareViewController
到导航控制器,从菜单中选择“嵌入”。应该看起来像这样:
第 6 步。在导航控制器中自定义视图控制器(例如,参见这个 SO 线程)
我的结果: