Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 无限旋转图像背景UIImageView_Iphone_Objective C_Ios_Uiimageview - Fatal编程技术网

Iphone 无限旋转图像背景UIImageView

Iphone 无限旋转图像背景UIImageView,iphone,objective-c,ios,uiimageview,Iphone,Objective C,Ios,Uiimageview,我想从UIImageView扩展一个类,它将无限旋转宇宙图像。因此,我可以简单地将此图像视图作为其他UI元素的背景视图 这里有3个问题: 从UIImageview类扩展是否正确 如何保持无限旋转,作为背景,当将其放入其他视图时,我不需要编写额外的代码行 我写了一个粗略的原型,当我把它放到其他视图中作为背景时,这个视图中的所有UI元素都随着图像旋转 扩展UIImageview类并没有错 创建旋转动画并启用“重复” 不要在旋转图像上添加元素。(在基本视图中添加元素。在索引0处插入旋转图像视图) 扩展

我想从
UIImageView
扩展一个类,它将无限旋转宇宙图像。因此,我可以简单地将此图像视图作为其他UI元素的背景视图

这里有3个问题:

  • UIImageview
    类扩展是否正确
  • 如何保持无限旋转,作为背景,当将其放入其他视图时,我不需要编写额外的代码行
  • 我写了一个粗略的原型,当我把它放到其他视图中作为背景时,这个视图中的所有UI元素都随着图像旋转
  • 扩展UIImageview类并没有错
  • 创建旋转动画并启用“重复”
  • 不要在旋转图像上添加元素。(在基本视图中添加元素。在索引0处插入旋转图像视图)
  • 扩展UIImageview类并没有错
  • 创建旋转动画并启用“重复”
  • 不要在旋转图像上添加元素。(在基本视图中添加元素。在索引0处插入旋转图像视图)

  • 假设您有一个UIImageView,并在其上指定一个名为myImgView的图像。在viewDidLoad上,按如下方式添加代码:

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
    [UIView setAnimationRepeatCount:MAXFLOAT];
    myImgView.transform = CGAffineTransformMakeRotation(M_PI);
    [UIView commitAnimations];
    

    它对我来说就像一个符咒。

    假设您有一个UIImageView,并在其上指定一个名为myImgView的图像。在viewDidLoad上,按如下方式添加代码:

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
    [UIView setAnimationRepeatCount:MAXFLOAT];
    myImgView.transform = CGAffineTransformMakeRotation(M_PI);
    [UIView commitAnimations];
    
    它对我来说就像一个符咒。

    来自:

    UIImageView类经过优化,可以将其图像绘制到显示器上。UIImageView不会调用drawRect:子类。如果子类需要自定义图形代码,建议使用UIView作为基类

    目前,
    UIImageView
    子类确实可以工作,特别是如果它们不影响图形代码的话。如果未来的iOS更新破坏了你的子类,不要向苹果抱怨。编写自己的UIView子类来显示图像非常简单。如果你已经有了一个合适的图形,请考虑把它放在<代码> Calaye<代码> >代码>内容>代码>中,而不是实现uiVIEW.Cord>DraccRe>/Cult>方法.< /P>
    通过更改
    ui视图变换
    (类型为
    cGraffinetTransform
    )进行的旋转始终采用最短路径。这意味着将270度的顺时针旋转设置为90度的逆时针旋转,任何360度的倍数都不会起任何作用。如果获得视图的图层并设置
    CALayer transform
    (类型为
    CATTransformM3D
    )的动画,则可以获得360度旋转。看

    要使动画无休止地重复,建议从以下位置将
    repeatCount
    设置为
    ground_VALF

    UIImageView类经过优化,可以将其图像绘制到显示器上。UIImageView不会调用drawRect:子类。如果子类需要自定义图形代码,建议使用UIView作为基类

    目前,
    UIImageView
    子类确实可以工作,特别是如果它们不影响图形代码的话。如果未来的iOS更新破坏了你的子类,不要向苹果抱怨。编写自己的UIView子类来显示图像非常简单。如果你已经有了一个合适的图形,请考虑把它放在<代码> Calaye<代码> >代码>内容>代码>中,而不是实现uiVIEW.Cord>DraccRe>/Cult>方法.< /P>
    通过更改
    ui视图变换
    (类型为
    cGraffinetTransform
    )进行的旋转始终采用最短路径。这意味着将270度的顺时针旋转设置为90度的逆时针旋转,任何360度的倍数都不会起任何作用。如果获得视图的图层并设置
    CALayer transform
    (类型为
    CATTransformM3D
    )的动画,则可以获得360度旋转。看


    要使动画无休止地重复,建议将
    repeatCount
    设置为
    mage_VALF

    谢谢您的解释。我从hieund复制了代码(见上面的注释)。利用iOS提供的API始终是正确的方法。再次感谢。谢谢你的解释。我从hieund复制了代码(见上面的注释)。利用iOS提供的API始终是正确的方法。再次感谢。