Где в моем ViewController я помещаю код инициализации? - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь добавить FittedSheet (Repo) к моему приложению, и в своем объяснении использования, они просто имеют этот кусок кода без дальнейшего объяснения того, где его разместить.

let controller = MyViewController()

let sheetController = SheetViewController(controller: controller)

// It is important to set animated to false or it behaves weird currently
self.present(sheetController, animated: false, completion: nil) 

Я хочу знать, куда должен идти этот код, чтобы я мог включить базовую версию FittedSheet в свое приложение.Любые входные данные были бы очень благодарны, я новичок в Swift и у меня все бэкэнд-данные в моем приложении работают, но я изо всех сил пытаюсь их отобразить.

1 Ответ

0 голосов
/ 13 июня 2019

MyViewController () - это имя контроллера, данные которого должны присутствовать с использованием библиотеки FittedSheet.Позвольте мне взять пример.

В следующем примере я создаю customSheetController в своем проекте.Я проектирую пользовательский интерфейс в раскадровке и создаю быстрый класс для того же самого.

Пользовательский интерфейс раскадровки customSheetController

Ниже customSheetController синтаксис быстрого класса

class customSheetController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
}

В некоторых других viewcontroller класс, откройте этот лист при щелчке элемента представления коллекции.

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        if let sheetView = storyboard.instantiateViewController(withIdentifier: "customSheetController") as? customSheetController {
           let sheetController = SheetViewController(controller: sheetView)

            // It is important to set animated to false or it behaves weird currently
            self.present(sheetController, animated: false, completion: nil)
        }
    } 

В приведенном выше примере я открыл лист при щелчке элемента представления коллекции, вы можете добавить указанный выше код для события кнопки или любого события, откуда выхочу открыть этот лист.

другой пример

Позвольте мне привести еще один пример. Предположим, у вас есть два класса viewcontroller в вашем проекте, скажем, A и B. Вы хотитеприсутствует контроллер A, а контроллер B.Затем вам нужно изменить код, как показано ниже.

В классе контроллеров B, предположим, что вы хотите представить контроллер A при нажатии кнопки, затем вы можете написать приведенный ниже код для события нажатия кнопки

let controller = A()

let sheetController = SheetViewController(controller: controller)

self.present(sheetController, animated: false, completion: nil)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...