iOS 8 + Swift - 寻求定义多个车道,但根据事件绘制它们

标签 ios swift ios8 draw lines

我的应用 Storyboard之一中有 3 个按钮。根据用户按下的按钮,我想绘制一条不同的线。我是 iOS 开发的新手,我正在查看 Apple 的开发人员库以了解有关如何创建上下文、路径和行定义的详细信息,但我无法弄清楚为多行定义上下文和路径的实现。

预先感谢您的帮助。

编辑 - 2015-02-24:澄清问题并添加视频解释我如何在另一个平台上执行此操作。

因为这个问题可能很难理解,而且因为我有更多的 Windows 开发经验,所以我创建了一个 Windows Phone 应用程序来展示我想在 iOS+Swift 上做什么。

以下是我在Windows 通用应用程序(运行时)的 XAML + C# 中执行此操作的方法

首先,我在 MainPage.xaml 中定义该行(稍后添加 Tranform 标记):

        <Line x:Name="line1" Stroke="Black" StrokeThickness="6" Y1="60" Y2="60" RenderTransformOrigin="0.5,0.5" Margin="1,0,-1,0" X1="30" X2="30">
        <Line.RenderTransform>
            <CompositeTransform/>
        </Line.RenderTransform>
    </Line>

然后我在 XAML 文件的 Page.Resources 部分中定义 Storyboard动画:

        <Storyboard x:Name="anLine2">
        <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="line1" d:IsOptimized="True"/>
        <DoubleAnimationUsingKeyFrames EnableDependentAnimation="True" Storyboard.TargetProperty="(Line.X2)" Storyboard.TargetName="line2">
            <EasingDoubleKeyFrame KeyTime="0" Value="30"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.30" Value="380"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>

我定义按钮:

<Button x:Name="btnL1" Content="Line 1" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="10,0,0,0" Click="btnL1_Click"/>

最后,当按下按钮时我触发动画<>:

        private void btnL1_Click(object sender, RoutedEventArgs e)
    {
        anLine1.Begin();
    }

我定义了 3 行和 3 个按钮。结果见这个视频(视频中看起来有点断断续续,不过是因为有截屏软件的缘故,在模拟器和测试机上执行都很流畅): http://youtu.be/Y4i2IUehl7U

现在,我想要的是能够做到这一点,但在 iOS 上使用 Swift。我希望这有助于澄清问题。

提前致谢!

最佳答案

我想你想要的是为正在绘制的线条设置动画 - 如果是这样,请参阅以下问题:

how to draw line with animation?

特别是其中一个答案有这个链接:

http://tumbljack.com/post/179975074/complex-interpolation-with-cashapelayer-free

基本上,使用 CAShapeLayer 并从空路径到包含目的地的路径设置动画。

关于iOS 8 + Swift - 寻求定义多个车道,但根据事件绘制它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28600550/

相关文章:

ios - 是否可以在iphone中存储一个ipa文件

swift - Xcode 中 Obj-C 到 swift

ios - 模拟 CKContainer 用于单元测试

ios - 在滚动过程中,将contentView中的图标动画化为导航栏

javascript - iOS 上的图像加载然后消失然后当我进入设置并返回页面时它们重新出现

ios - 如何在 Storyboard 中使用 UIScrollView

Java 内存管理 : iOS style memory monitoring?

iphone - 境界+快速排序

ios - 强制 subview Controller 调用基本 View Controller 方法

iOS 8 UITableViewController 分隔符滚动渲染