Существует SKLabel
, вы можете использовать это
let scoreLabel = SKLabelNode(fontNamed: "Chalkduster")
scoreLabel.text = "Score: 0"
scoreLabel.horizontalAlignmentMode = .right
scoreLabel.position = CGPoint(x: 980, y: 700)
addChild(scoreLabel)
Во-первых, я не устанавливаю высоту/ширину в пользовательском элементе управления. Вместо этого я установил DesignHeight и DesignWidth (в пространстве имен "http://schemas.microsoft.com/expression/blend/2008"), и я установил выравнивание для протяжения
<UserControl ...
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
d:DesignHeight="1050" d:DesignWidth="1680">
В моем HTML я установил Высоту и Ширину к 100% как это...
<div style="height: 100%; width: 100%; position: fixed;">
<asp:Silverlight runat="server" Source="~/ClientBin/My.xap" ID="MyId"
Width="100%" Height="100%" />
</div>
В той точке все работает на меня, чтобы иметь его, берут все окно.
Удалите атрибуты Высоты и Ширины из:
<UserControl
x:Class="Client.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
Автоматическая Высота и Ширина с изменяют размер окна для установки содержанию. При удалении атрибутов Высоты и Ширины Приложение Silverlight вырастет для установки окну.
Хм
Я думаю, что Ваша Сетка является установкой, чтобы быть как можно меньше (никакой "звездообразный" столбец или строка). Можно ли попробовать еще одним столбцом и строкой со "звездообразным" размером?
как другой указали, также необходимо удалить "автоматические" размеры, так как они автоизмеряют к содержанию.
также попытайтесь выбрать цвет фона на странице, таким образом, Вы видите, где она на самом деле расширяется.
Если у вас довольно сложный HTML-макет и вы не можете полагаться на фиксированное позиционирование, то вы можете изменить размер div #silverlightControlHost, используя следующее:
private bool _hasResized;
protected override Size ArrangeOverride(Size finalSize)
{
if (!_hasResized)
{
HtmlPage.Document.GetElementById("silverlightControlHost").SetStyleAttribute("height", finalSize.Height.ToString());
_hasResized = true;
}
return base.ArrangeOverride(finalSize);
}
Вы можете поместить это внутрь MainPage.cs
или, если у вас есть вложенные UserControls
, то в тот элемент управления, который требует наибольшей высоты. Я также использую следующий XAML и HTML по умолчанию, который предоставляет Visual Studio
<UserControl ...
VerticalAlignment="Stretch"
Height="Auto"
Width="Auto">
Я не тестировал его без этих настроек, насколько я знаю, Auto является настройкой по умолчанию.