我有一个UIAlertViewController需要一段时间才能呈现,有一段时间它就像一秒左右。代码如下。
<!-- Brushes For Arrow -->
<Geometry x:Key="UpArrowGeometry">M 0,3 C0,3 0,4 0,4 0,4 3,4 3,4 3,4 3,3 3,3 3,3 4,3 4,3 4,3 4,4 4,4 4,4 7,4 7,4 7,4 7,3 7,3 7,3 6,3 6,3 6,3 6,2 6,2 6,2 5,2 5,2 5,2 5,1 5,1 5,1 4,1 4,1 4,1 4,0 4,0 4,0 3,0 3,0 3,0 3,1 3,1 3,1 2,1 2,1 2,1 2,2 2,2 2,2 1,2 1,2 1,2 1,3 1,3 1,3 0,3 0,3 z</Geometry>
<Geometry x:Key="DownArrowGeometry">M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z</Geometry>
<!-- Spinner Button Style -->
<LinearGradientBrush x:Key="ControlNormalBorderKey"
EndPoint="0,20"
StartPoint="0,0"
>
<GradientStop Color="#ABADB3"
Offset="0.05" />
<GradientStop Color="#E2E3EA"
Offset="0.07" />
<GradientStop Color="#E3E9EF"
Offset="1" />
</LinearGradientBrush>
<SolidColorBrush x:Key=DisabledBrush Color="#F4F4F4"/>
<Style TargetType="{x:Type local:ButtonSpinner}">
<Setter Property="Background" Value="#FFFFFFFF" />
<Setter Property="BorderBrush" Value="{StaticResource ControlNormalBorderKey}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Focusable" Value="False" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="IsTabStop" Value="True" />
<Setter Property="Padding" Value="1" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:ButtonSpinner}">
<Border x:Name="Border" SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="firstContentColumn" Width="*" />
<ColumnDefinition x:Name="secondContentColumn" Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="contentPresenter" Focusable="False" Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
<Grid x:Name="gridContent" Grid.Column="1" Visibility="{TemplateBinding ShowButtonSpinner, Converter={StaticResource BooleanToVisibilityConverter}}" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<RepeatButton x:Name="PART_IncreaseButton"
Style="{DynamicResource {x:Static themes:ResourceKeys.SpinnerButtonStyleKey}}"
IsTabStop="{TemplateBinding IsTabStop}">
<RepeatButton.ContentTemplate>
<DataTemplate>
<Path Width="7"
Height="4"
Data="{StaticResource UpArrowGeometry}"
Fill="{StaticResource YourBackgroundColor}"
SnapsToDevicePixels="True"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Focusable="False" />
</DataTemplate>
</RepeatButton.ContentTemplate>
<RepeatButton x:Name="PART_DecreaseButton"
Grid.Row="1"
Style="{DynamicResource {x:Static themes:ResourceKeys.SpinnerButtonStyleKey}}"
IsTabStop="{TemplateBinding IsTabStop}">
<RepeatButton.ContentTemplate>
</RepeatButton>
<DataTemplate>
<Path Width="7"
Height="4"
Data="{StaticResource DownArrowGeometry}"
Fill="{StaticResource YourBackgroundColor}"
SnapsToDevicePixels="True"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Focusable="False" />
</DataTemplate>
</RepeatButton.ContentTemplate>
</Grid>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="{StaticResource DisabledBrush}" />
</Trigger>
<Trigger SourceName="PART_IncreaseButton" Property="IsEnabled" Value="False">
<Setter TargetName="PART_IncreaseButton" Property="ContentTemplate" Value="{StaticResource IncreaseGlyphDisabledKey}" />
</Trigger>
<Trigger SourceName="PART_DecreaseButton" Property="IsEnabled" Value="False">
<Setter TargetName="PART_DecreaseButton" Property="ContentTemplate" Value="{StaticResource DecreaseGlyphDisabledKey}" />
</Trigger>
<Trigger Property="ButtonSpinnerLocation"
Value="Left">
<Setter TargetName="firstContentColumn"
Property="Width"
Value="Auto" />
<Setter TargetName="secondContentColumn"
Property="Width"
Value="*" />
<Setter TargetName="contentPresenter"
Property="Grid.Column"
Value="1" />
<Setter TargetName="gridContent"
Property="Grid.Column"
Value="0" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
提前谢谢你:)
答案 0 :(得分:1)
我稍微更改了你的代码,现在UIAlertController立即弹出。我使用了Parse.com错误代码;
PFUser.logInWithUsernameInBackground(usernameTextField.text!, password:passwordTextField.text!) {
(user: PFUser?, error: NSError?) -> Void in
if user != nil {
self.performSegueWithIdentifier("toMainView", sender: self)
} else {
let ErrorCode = error!.code
switch ErrorCode {
case 101:
let alert = UIAlertController(title: "Error", message: "Entered User Creditinials Are Incorrect. Please Try Again.", preferredStyle: UIAlertControllerStyle.Alert)
let action = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler:{ (action: UIAlertAction!) in })
alert.addAction(action)
self.presentViewController(alert, animated: true, completion: nil)
break
default:
println(ErrorCode)
break
}
}
}
您可以看到解析错误代码here。