• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 关于 iOS 中的 UIActivityIndi​​catorView

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:24:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

假设有一个UIView作为容器,里面包含一个UIActivityIndi​​catorView和其他 subview 。当UIActivityIndi​​catorView动画时,它设置userInteractionEnabled 属性设置为 NO,这使得它的所有兄弟 View 都停止接收输入事件。

我查看了Apple的文档,它建议我们可以使用UIViewAnimationOptionAllowUserInteraction常量来解决这个问题。但我不知道在哪里或哪个属性设置这个常量。有没有人遇到过这个问题并解决是吗?



Best Answer-推荐答案


UIViewAnimationOptionAllowUserInteraction 是使用 block 动画 View 的选项之一。允许用户在动画制作时与 View 进行交互。

enum {
   UIViewAnimationOptionLayoutSubviews            = 1 <<  0,
   UIViewAnimationOptionAllowUserInteraction      = 1 <<  1,
   UIViewAnimationOptionBeginFromCurrentState     = 1 <<  2,
   UIViewAnimationOptionRepeat                    = 1 <<  3,
   UIViewAnimationOptionAutoreverse               = 1 <<  4,
   UIViewAnimationOptionOverrideInheritedDuration = 1 <<  5,
   UIViewAnimationOptionOverrideInheritedCurve    = 1 <<  6,
   UIViewAnimationOptionAllowAnimatedContent      = 1 <<  7,
   UIViewAnimationOptionShowHideTransitionViews   = 1 <<  8,

   UIViewAnimationOptionCurveEaseInOut            = 0 << 16,
   UIViewAnimationOptionCurveEaseIn               = 1 << 16,
   UIViewAnimationOptionCurveEaseOut              = 2 << 16,
   UIViewAnimationOptionCurveLinear               = 3 << 16,

   UIViewAnimationOptionTransitionNone            = 0 << 20,
   UIViewAnimationOptionTransitionFlipFromLeft    = 1 << 20,
   UIViewAnimationOptionTransitionFlipFromRight   = 2 << 20,
   UIViewAnimationOptionTransitionCurlUp          = 3 << 20,
   UIViewAnimationOptionTransitionCurlDown        = 4 << 20,
   UIViewAnimationOptionTransitionCrossDissolve   = 5 << 20,
   UIViewAnimationOptionTransitionFlipFromTop     = 6 << 20,
   UIViewAnimationOptionTransitionFlipFromBottom  = 7 << 20,
};
typedef NSUInteger UIViewAnimationOptions;

但我不知道它对您使用 UIActivityIndi​​catorView 有何帮助。简单例子:

[UIView animateWithDuration:0.4f 
                      delay:0.2f 
                    options:UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveEaseInOut
                 animations:^{
                     [myView setFrame:CGRectOffset(view.frame, 0, -100)];
                 }
                 completion:^(BOOL finished){ 
                         NSLog(@"completed");
                     }
 ];

关于ios - 关于 iOS 中的 UIActivityIndi​​catorView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7912436/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap