---
# System prepended metadata

title: Импорт фреймворка

---

## Установка
1. Перенести `NMRAvatarsEditor.framework` в папку своего проекта
2. В настройках таргета открыть вкладку `General` и проскроллить до раздела `Frameworks, Libraries, and Embedded Content`. Нажать на кнопку `+ -> Add Other` и выбрать `NMRAvatarsEditor.framework`
3. В колонке `Embed` указать `Embed&Sign`

![](https://i.imgur.com/uWFMgc3.png)

# Импорт фреймворка
Для подключения фреймворка необходимо прописать в Swift-файле:
```
import NMRAvatarsEditor
```
# Описание доступных к использованию на стороне приложения сущностей
### NMRAvatarsEditorViewController
`NMRAvatarsEditorViewController` - View Controller редактора аватаров

### AvatarView
`AvatarView` - View, на котором рисуется аватар. В инициализаторе c помощью параметра `useGradient:Bool` можно указать, необходимо ли рисовать градиент на аватаре. Со стороны приложения можно передать информацию о параметрах рисуемого аватара через метод `setJSONData(_ data: Data)`

### NMRAvatarsEditorDelegate
Получить необходимую информацию в формате JSON можно, используя  метод `didSaveWithJSON(_ data: Data)` протокола `NMRAvatarsEditorDelegate`. Указанный метод запускается при нажатии на ✅ в редакторе аватаров

## Пример 
```
import UIKit
import NMRAvatarsEditor

class ViewController: UIViewController {
    let avatarView = AvatarView(useGradient: false)

    let openEditorButton = UIButton()
    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(openEditorButton)
        openEditorButton.translatesAutoresizingMaskIntoConstraints = false
        NSLayoutConstraint.activate([
            openEditorButton.centerXAnchor.constraint(equalTo: view.centerXAnchor),
            openEditorButton.centerYAnchor.constraint(equalTo: view.centerYAnchor),
            openEditorButton.widthAnchor.constraint(equalTo: view.widthAnchor),
            openEditorButton.heightAnchor.constraint(equalToConstant: 40)
        ])
        openEditorButton.setTitle("Open avatars editor", for: .normal)
        openEditorButton.addTarget(self, action: #selector(openAvatarsEditor), for: .touchUpInside)
        setupAvatarView()
    }

    @objc private func openAvatarsEditor() {
        let editorVC = NMRAvatarsEditorViewController()
        editorVC.delegate = self
        navigationController?.pushViewController(editorVC, animated: true)
    }

    private func setupAvatarView() {
        avatarView.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(avatarView)
        NSLayoutConstraint.activate([
            avatarView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
            avatarView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
            avatarView.bottomAnchor.constraint(equalTo: openEditorButton.topAnchor),
            avatarView.widthAnchor.constraint(equalTo: avatarView.heightAnchor)
        ])
        avatarView.isHidden = true
    }
}

extension ViewController: NMRAvatarsEditorDelegate {
    func didSaveWithJSON(_ data: Data) {
        avatarView.setJSONData(data)
        avatarView.isHidden = false
    }
}
```
