Я совершенно новичок в Swift, но как часть проекта, над которым я работаю, мне нужно написать реактивный мост, включающий стороннюю библиотеку.Я вызываю метод в сторонней библиотеке, который отображает модальное изображение, полностью покрывающее мое устройство / перекрывающее мой существующий контент;но вместо этого я хочу, чтобы он помещался в меньшем кадре, чтобы навигационные панели моего приложения все еще были видны.
С точки зрения потока, мое пользовательское представление вызывает метод show
для сторонней библиотекикоторый, помимо прочего, вызывает метод present
(который по умолчанию занимает весь вид).
Поток выглядит так:
// MyView.swift
import Foundation
import UIKit
import ExternalLib
class MyView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
ExternalLib.show()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
// ExternalLib.swift
// Other functions omitted
public static func show() {
// declaring vc, other processes etc ...
UIWindow.topViewController.present(vc, animated: true, completion: nil)
}
Можно ли каким-либо образом изменить размер рендера без необходимости непосредственного изменения кода сторонней библиотеки?