StyleRule

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Define propriedades de estilo que substituem propriedades nas instâncias afetadas pela propriedade Selector .

Resumo

Propriedades

  • Ler Parallel

    Um número que determina como as propriedades do StyleRule se aplicam em relação às mesmas propriedades em outro StyleRules .Os valores de prioridade mais altos têm precedência sobre os mais baixos.

  • Ler Parallel

    Uma string que especifica quais instâncias o StyleRule deve afetar.

  • Somente leitura
    Não replicado
    Ler Parallel

    Uma string de leitura somente que exibe erros da propriedade Selector.

Métodos

Métodos herdados de StyleBase

Eventos

Eventos herdados de StyleBase

Propriedades

Priority

Ler Parallel

Um número que determina como as propriedades do StyleRule se aplicam em relação às mesmas propriedades em outro StyleRules .Os valores de prioridade mais altos têm precedência sobre os mais baixos.Por exemplo, se um StyleRule com prioridade de 10 tiver uma propriedade AnchorPoint de 1, 0, ela terá precedência sobre uma propriedade de baixa prioridade StyleRules com AnchorPoint propriedades.

Selector

Ler Parallel

Uma string que especifica quais instâncias o StyleRule deve afetar.Isso pode ser uma mistura de seletores e combinadores para combinar características como o nome da classe, o nome da instância e as relações de hierarquia.

Por exemplo, ".Container > ImageLabel.BlueOnHover:Hover" efetivamente significa que a regra de estilo substitui a cada ImageLabel que é filho de uma instância rotulada com Container ( .Container > ImageLabel ) e está rotulada com BlueOnHover ( .BlueOnHover ) e está no estado Enum.GuiState.Hover ( :Hover ).

Seletores

<th>Descrição</th>
<th>Exemplos</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>[ classe ]</code></td>
<td>Coincide com instâncias de uma classe <code>Class.GuiObject</code> ou <code>Class.UIComponent</code> classe.</td>
<td><code>"Quadro"</code><code>"Botão de Imagem"</code><code>"Canto UIC"</code></td>
</tr>
<tr>
<td><code>.[tag]</code></td>
<td>Coincide com instâncias rotuladas com uma etiqueta Class.CollectionService .</td>
<td><code>".Container"</code><code>".BlueOnHover"</code></td>
</tr>
<tr>
<td><code>#[ nome ]</code></td>
<td>Coincide com instâncias de uma classe específica <code>Class.Instance.Name</code>.</td>
<td><code>"#ModalFrame"</code><code>"#FecharBotão"</code></td>
</tr>
<tr>
<td><code>[estado]:[ estado ]</code></td>
<td>Coincide com instâncias atualmente em um <code>Enum.GuiState</code>.</td>
<td><code>":Passe o mouse"</code></td>
</tr>
</tbody>
Seletor
Combinadores

<th>Descrição</th>
<th>Exemplos</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>></code></td>
<td>Coincide com instâncias que são <b>filhos diretos</b> da filtragem anterior.</td>
<td width="40%"><code>“Armação > .Inventário”</code></td>
</tr>
<tr>
<td><code>>></code></td>
<td>Coincide com instâncias que são <b>descendentes</b> das combinações de filtro anteriores.</td>
<td><code>“Botão de Imagem >> .BlueOnHover”</code></td>
</tr>
<tr>
<td><code>,</code></td>
<td>Especifica uma lista de vários seletores independentes para a regra de estilo.</td>
<td><code>“Frame.TagA, TextLabel.TagA”</code></td>
</tr>
<tr>
<td><code>::</code></td>
<td>Cria uma instância fantasma <code>Class.UIComponent</code> sob as partidas do filtro anterior e aplica as propriedades da regra de estilo a ela.</td>
<td><code>“Armação::UICorner”</code></td>
</tr>
</tbody>
Combinador

Amostras de código

The following example shows how to define a class selector which targets all TextButton instances and styles them with blue background and light grey text. To test, paste the code into a LocalScript which is a child of a ScreenGui located inside the StarterGui container.

UI Class Selector

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local screenGui = script.Parent
local coreSheet = Instance.new("StyleSheet")
coreSheet.Parent = ReplicatedStorage
local styleLink = Instance.new("StyleLink")
styleLink.StyleSheet = coreSheet
styleLink.Parent = screenGui
local rule = Instance.new("StyleRule")
rule.Parent = coreSheet
-- Class selector
rule.Selector = "TextButton"
-- Set rule properties
rule:SetProperties({
["BackgroundColor3"] = Color3.fromHex("335FFF"),
["TextColor3"] = Color3.fromHex("E1E1E1"),
["Size"] = UDim2.new(0.15, 0, 0, 40),
["BorderSizePixel"] = 0
})
local button = Instance.new("TextButton")
button.Text = "Main Menu"
button.Parent = screenGui

The following example shows how to define a tag selector which utilizes tags applied through CollectionService to target a TextButton tagged with ButtonPrimary. To test, paste the code into a LocalScript which is a child of a ScreenGui located inside the StarterGui container.

UI Tag Selector

local CollectionService = game:GetService("CollectionService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local screenGui = script.Parent
local coreSheet = Instance.new("StyleSheet")
coreSheet.Parent = ReplicatedStorage
local styleLink = Instance.new("StyleLink")
styleLink.StyleSheet = coreSheet
styleLink.Parent = screenGui
local rule = Instance.new("StyleRule")
rule.Parent = coreSheet
-- Tag selector
rule.Selector = ".ButtonPrimary"
-- Set rule properties
rule:SetProperties({
["BackgroundColor3"] = Color3.fromHex("FF0099"),
["TextColor3"] = Color3.fromHex("E1E1E1"),
["Size"] = UDim2.new(0.15, 0, 0, 40),
["BorderSizePixel"] = 0
})
local button = Instance.new("TextButton")
button.Text = "Main Menu"
button.Parent = screenGui
-- Apply tag to button
CollectionService:AddTag(button, "ButtonPrimary")

The following example shows how to define a UI modifier selector which applies a phantom UICorner instance to a Frame tagged with RoundedCorner20. To test, paste the code into a LocalScript which is a child of a ScreenGui located inside the StarterGui container.

UI Modifier Selector

local CollectionService = game:GetService("CollectionService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local screenGui = script.Parent
local coreSheet = Instance.new("StyleSheet")
coreSheet.Parent = ReplicatedStorage
local styleLink = Instance.new("StyleLink")
styleLink.StyleSheet = coreSheet
styleLink.Parent = screenGui
local rule = Instance.new("StyleRule")
rule.Parent = coreSheet
-- UI component selector
rule.Selector = "Frame.RoundedCorner20::UICorner"
-- Set rule property
rule:SetProperty("CornerRadius", UDim.new(0, 20))
-- Create frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0.4, 0, 0.2, 0)
frame.Parent = screenGui
-- Apply tag to frame
CollectionService:AddTag(frame, "RoundedCorner20")

SelectorError

Somente leitura
Não replicado
Ler Parallel

Uma string de leitura só que exibe erros da propriedade Selector leitura, como erros de síntese, tipos de classe não suportados, etc.

Métodos

GetProperties

Retorna um dicionário de pares de chave-valor que descrevem as propriedades do StyleRule, por exemplo:


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")
-- Obtenha referência à regra de estilo
local frameRule = coreSheet.Frame
local props = frameRule:GetProperties()
print(props)
--[[
{
["AnchorPoint"] = 0.5, 0,
["BackgroundColor3"] = 1, 0, 0.25
}
]]

Devolução

Dicionário de pares de chave-valor que descrevem as propriedades do StyleRule.

GetProperty

Variant

Retorna o valor de uma propriedade específica no StyleRule.


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")
-- Obtenha referência à regra de estilo
local frameRule = coreSheet.Frame
local prop = frameRule:GetProperty("AnchorPoint")
print(prop) --> 0.5, 0

Parâmetros

name: string

Nome da string da propriedade, por exemplo "AnchorPoint" ou "BackgroundColor3".

Valor Padrão: ""

Devolução

Variant

Valor da propriedade.

SetProperties

()

Semelhante a SetProperty() mas permite que você declare e defina várias propriedades do StyleRule de uma só vez.Cada atribuição deve ser uma propriedade válida do afetado GuiObject ou UIComponent ( UICorner , UIGradient , etc.), e cada valor atribuído deve corresponder ao tipo de valor da propriedade, por exemplo Vector2 para AnchorPoint ou Color3 para BackgroundColor3.

Tentativas de atribuir nomes de propriedade inválidos, como "AnchorPt" ou "BkColor", falharão silenciosamente.Tipos de correspondências erradas, como CFrame para AnchorPoint ou UDim2 para BackgroundColor3 também falharão e um erro aparecerá na janela Saída.

Para definir/atualizar apenas uma propriedade de um StyleRule, veja SetProperty().


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")
-- Obtenha referência à regra de estilo
local frameRule = coreSheet.Frame
-- Definir propriedades de regra
frameRule:SetProperties({
["AnchorPoint"] = Vector2.new(0.5, 0),
["BackgroundColor3"] = Color3.new(1, 0, 0.25)
})

Observe que você pode atribuir tokens como valores de propriedade através do prefixo $:


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")
local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")
-- Defina tokens (atributos) na folha de tokens
tokensSheet:SetAttribute("TopCenterAnchor", Vector2.new(0.5, 0))
tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))
-- Obtenha referência à regra de estilo
local frameRule = coreSheet.Frame
-- Definir propriedades de regra
frameRule:SetProperties({
["AnchorPoint"] = "$TopCenterAnchor",
["BackgroundColor3"] = "$MainBackgroundColor"
})

Parâmetros

styleProperties: Dictionary

Dicionário de pares de chave-valor que definem as propriedades a definir.

Valor Padrão: ""

Devolução

()

SetProperty

()

Define uma nova propriedade (ou modifica uma propriedade existente) para o StyleRule.O parâmetro name deve ser uma propriedade válida do afetado GuiObject ou UIComponent ( UICorner , UIGradient , etc.), e o valor atribuído deve corresponder ao tipo de valor da propriedade, por exemplo Vector2 para AnchorPoint ou Color3 para BackgroundColor3.

Tentativas de atribuir nomes de propriedade inválidos, como "AnchorPt" ou "BkColor", falharão silenciosamente.Tipos de correspondências erradas, como CFrame para AnchorPoint ou UDim2 para BackgroundColor3 também falharão e um erro aparecerá na janela Saída.

Para definir várias propriedades para um StyleRule de uma vez, veja SetProperties() .


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")
-- Obtenha referência à regra de estilo
local frameRule = coreSheet.Frame
-- Definir propriedade de regra
frameRule:SetProperty("BackgroundColor3", Color3.new(1, 0, 0.25))

Observe que você pode atribuir tokens como valores de propriedade através do prefixo $:


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")
local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")
-- Defina um novo token (atributo) na folha de tokens
tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))
-- Obtenha referência à regra de estilo
local frameRule = coreSheet.Frame
-- Defina a propriedade da regra para usar o token como seu valor
frameRule:SetProperty("BackgroundColor3, "$MainBackgroundColor")

Parâmetros

name: string

Nome da propriedade para definir, por exemplo "BackgroundColor3" .

Valor Padrão: ""
value: Variant

Valor de propriedade para definir, por exemplo Color3.new(1, 0, 0.25) .

Valor Padrão: ""

Devolução

()

Eventos