iOS使用Google MaterialComponents吗?

时间:2018-07-01 05:45:15

标签: ios material-components

我正在尝试使用MaterialComponents中的MDCRaisedButton,将其添加为与我所有其他依赖项类似的pod依赖项,但是当我尝试导入它时,出现编译错误Module MaterialComponents not found

使用此吊舱是否需要采取其他步骤?

我在他们使用的演示中注意到

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

路径做什么?当我尝试运行Pod更新时,它会给出错误消息

1 个答案:

答案 0 :(得分:4)

:path不是您在自己的应用程序中使用MaterialComponents时所需的附加功能,它用于在本地容器顶部进行开发。在这里查看更多信息:https://guides.cocoapods.org/using/the-podfile.html#using-the-files-from-a-folder-local-to-the-machine

要使用MDCRaisedButton,您首先需要在所选应用程序目标中使用pod 'MaterialComponents/Buttons'创建一个Podfile。如果您使用swift作为开发语言,建议您也添加use_frameworks!。 Podfile示例如下所示:

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

在那之后,导入和使用将是:

迅速:

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设置主题是获得相同凸起按钮样式的最佳方法。因此,当前最佳做法是将其添加到您的Podfile中:

pod 'MaterialComponents/Buttons+Extensions/ButtonThemer'

然后在您的实现中:

迅速:

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

使用主题和方案的附加价值在于,您可以自定义按钮方案,并使该方案一次应用于所有按钮。此外,如果您希望在整个应用程序中使用某种配色方案和/或版式设计方案,则现在可以通过主题设置将这些方案应用于您应用程序中的所有材料组件。