iOS с помощью Google MaterialComponents? - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь использовать MDCRaisedButton из MaterialComponents, добавляю его как зависимость pod, как и все мои другие зависимости, но при попытке импортировать его я получаю ошибку компиляции Module MaterialComponents not found

Какие дополнительные шаги мне нужно предпринять, чтобы использовать этот модуль?

Я заметил, что в демонстрациях они используют

  pod 'MaterialComponents/Typography', :path => '../../'

Что делает путь? выдает ошибку при попытке запустить обновление pod

1 Ответ

0 голосов
/ 01 июля 2018

:path не является дополнением, которое вам понадобится при использовании MaterialComponents в вашем собственном приложении, и используется для разработки поверх локальных модулей. Посмотрите здесь для получения дополнительной информации: https://guides.cocoapods.org/using/the-podfile.html#using-the-files-from-a-folder-local-to-the-machine

Чтобы использовать MDCRaisedButton, вам нужно было бы изначально создать Podfile с pod 'MaterialComponents/Buttons' внутри выбранной цели приложения. Если вы используете swift в качестве языка разработки, я рекомендую также добавить use_frameworks!. Пример подфайла будет выглядеть так:

target 'Demo App' do
  use_frameworks! # can remove if using Objective-C
  pod 'MaterialComponents/Buttons'
end

После этого импорт и использование будут:

Swift:

import MaterialComponents.MaterialButtons

let button = MDCRaisedButton()

Objective-C:

#import "MaterialButtons.h"

MDCRaisedButton *button = [[MDCRaisedButton alloc] init];

Более подробную информацию можно найти здесь: https://github.com/material-components/material-components-ios/tree/develop/components/Buttons


В качестве дополнительного примечания, MDCRaisedButton скоро станет устаревшим, и использование MDCButton с использованием MDCContainedButtonThemer теперь является лучшим способом получить тот же стиль поднятых кнопок. Поэтому в настоящее время рекомендуется добавлять к вашему подфайлу:

pod 'MaterialComponents/Buttons+Extensions/ButtonThemer'

А потом в вашей реализации:

Swift:

import MaterialComponents.MaterialButtons_ButtonThemer

let buttonScheme = MDCButtonScheme()
let button = MDCButton()
MDCContainedButtonThemer.applyScheme(buttonScheme, to: button)

Objective-C:

#import "MaterialButtons+ButtonThemer.h"

MDCButton *button = [[MDCButton alloc] init];
MDCButtonScheme *buttonScheme = [[MDCButtonScheme alloc] init];
[MDCContainedButtonThemer applyScheme:buttonScheme toButton:button];

Более подробную информацию можно найти здесь: https://github.com/material-components/material-components-ios/blob/develop/components/Buttons/docs/theming.md

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

...