当前位置: 首页 > wzjs >正文

做暧暖爱视频1000部在线网站高德北斗导航

做暧暖爱视频1000部在线网站,高德北斗导航,cms网站开发流程,seo怎么做网站内容接上文 Flutter PIP 插件 ---- 新增PipActivity,Android 11以下支持自动进入PIP Mode 项目地址 PIP, pub.dev也已经同步发布 pip 0.0.3,你的加星和点赞,将是我继续改进最大的动力 在之前的界面设计中,还原动画等体验一…

接上文 Flutter PIP 插件 ---- 新增PipActivity,Android 11以下支持自动进入PIP Mode

项目地址 PIP, pub.dev也已经同步发布 pip 0.0.3,你的加星和点赞,将是我继续改进最大的动力

在之前的界面设计中,还原动画等体验一直不太好,遂优化一下,现在体验效果看起来更好了,
唯一一个还没搞定的是应用内还原的动画,应用内还原的时候,有一个从小到达逐渐拉伸的效果,猜测可能是和图片的渲染有关?有大佬能指点一二不?
请添加图片描述

不再获取PipViewController

前面也讲到这个比较危险,虽然多方求证似乎也没什么,但还是怕,所以改成查找PipWindow,并在pictureInPictureControllerDidStartPictureInPicture通知中把自渲染View添加到rootView中去

- (void)pictureInPictureControllerDidStartPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {PIP_LOG(@"pictureInPictureControllerDidStartPictureInPicture");#if USE_PIP_VIEW_CONTROLLER// if you use the pipViewController, you must call this every time to bring// the content view to the front, otherwise the content view will not be// visible and covered by the pip host view.if (_pipViewController) {[_pipViewController.view bringSubviewToFront:_contentView];}
#else// TODO @sylar: check if this is the best way to do this, what will happen if// we have multiple windows? what if the root view controller is not a// UIViewController?UIWindow *window = [[UIApplication sharedApplication] windows].firstObject;if (window) {UIViewController *rootViewController = window.rootViewController;UIView *superview = rootViewController.view.superview;[self insertContentViewIfNeeded:superview];} else {PIP_LOG(@"pictureInPictureControllerDidStartPictureInPicture: window is nil");[_pipStateDelegate pipStateChanged:PipStateFailederror:@"Can not find the pip window"];return;}
#endif_isPipActived = YES;[_pipStateDelegate pipStateChanged:PipStateStarted error:nil];
}

遗留项是,这个查找PipWindow的方法靠不靠谱?有其他方法但是看起来也不靠谱

不再每次都将自渲染UIView从PipWindow移除

观察到一个现象是,如果是依赖PipViewController在 pictureInPictureControllerWillStartPictureInPicture 中添加UIView,还必须得在 pictureInPictureControllerDidStartPictureInPicture 中调用一次 bringSubviewToFront,否则的话你会比系统自动添加的View早添加,导致你的层级在下面;改用通过获取PipWindow方式后,就不用在bringSubviewToFront,因为不是一个parent了。
在这里插入图片描述
另外一些场景下可能会创建一个悬空的UIView用来做渲染,这样的话我们就没必要每次都把他从PipWindow上移除还原到父parent上,可以在PipWindow显示的一瞬间就立即看到渲染的内容

- (void)pictureInPictureControllerDidStopPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {PIP_LOG(@"pictureInPictureControllerDidStopPictureInPicture");// restore the content view in// pictureInPictureControllerDidStopPictureInPicture will have the best user// experience.[self restoreContentViewIfNeeded];_isPipActived = NO;[_pipStateDelegate pipStateChanged:PipStateStopped error:nil];
}- (void)restoreContentViewIfNeeded {if (_contentView == nil) {PIP_LOG(@"restoreContentViewIfNeeded: contentView is nil");return;}// do not restore the content view if the original parent view is nil or// the content view is already in the original parent view.// keep the content view in the pip view controller will make the user// experience better, the pip content view will be visible immediately.if (_contentViewOriginalParentView == nil ||[_contentViewOriginalParentView.subviews containsObject:_contentView]) {PIP_LOG(@"restoreContentViewIfNeeded: _contentViewOriginalParentView is nil or "@"contentView is already in the original parent view");return;}[_contentView removeFromSuperview];PIP_LOG(@"restoreContentViewIfNeeded: contentView is removed from the original "@"parent view");if (_contentViewOriginalParentView != nil) {// in case that the subviews of _contentViewOriginalParentView has been// changed, we need to get the real index of the content view.NSUInteger trueIndex = MIN(_contentViewOriginalParentView.subviews.count,_contentViewOriginalIndex);[_contentViewOriginalParentView insertSubview:_contentViewatIndex:trueIndex];PIP_LOG(@"restoreContentViewIfNeeded: contentView is added to the original "@"parent view "@"at index: %lu",trueIndex);// restore the original frame_contentView.frame = _contentViewOriginalFrame;// restore the original constraints[_contentView removeConstraints:_contentView.constraints.copy];[_contentView addConstraints:_contentViewOriginalConstraints];// restore the original translatesAutoresizingMaskIntoConstraints_contentView.translatesAutoresizingMaskIntoConstraints =_contentViewOriginalTranslatesAutoresizingMaskIntoConstraints;// restore the original parent view[_contentViewOriginalParentViewremoveConstraints:_contentViewOriginalParentView.constraints.copy];[_contentViewOriginalParentViewaddConstraints:_contentViewOriginalParentViewConstraints];}
}

支持动态设置PipWindow窗口大小

这个没什么好说的,修改创建contentSource的时候的sampleBufferDisplayer的大小就可以动态修改PipWindow窗口大小,判断各种对象都已经有了的话就只修改大小而不用重新创建controller就行了

if (options.preferredContentSize.width > 0 &&options.preferredContentSize.height > 0) {[_pipViewupdateFrameSize:CGSizeMake(options.preferredContentSize.width,options.preferredContentSize.height)];
}

重要的事情说三遍

项目地址 PIP, pub.dev也已经同步发布 pip 0.0.3,你的加星和点赞,将是我继续改进最大的动力

项目地址 PIP, pub.dev也已经同步发布 pip 0.0.3,你的加星和点赞,将是我继续改进最大的动力

项目地址 PIP, pub.dev也已经同步发布 pip 0.0.3,你的加星和点赞,将是我继续改进最大的动力


文章转载自:

http://2rHHdkk3.yydzk.cn
http://Jh4vTBJG.yydzk.cn
http://LtA9GZlG.yydzk.cn
http://lT7Ze171.yydzk.cn
http://6FagDVyt.yydzk.cn
http://QtydLGHU.yydzk.cn
http://qv0A8XPQ.yydzk.cn
http://BTDzWnkz.yydzk.cn
http://Raztg9t2.yydzk.cn
http://xPDFNrND.yydzk.cn
http://3xYammpB.yydzk.cn
http://naGoqPbj.yydzk.cn
http://KNEzCCrK.yydzk.cn
http://zePNOsEo.yydzk.cn
http://6MobiVfl.yydzk.cn
http://XAqclB4b.yydzk.cn
http://7wFKt79d.yydzk.cn
http://madEelI5.yydzk.cn
http://0or7SCEZ.yydzk.cn
http://fekXWB5W.yydzk.cn
http://1kb9s7pk.yydzk.cn
http://ZknXrZhy.yydzk.cn
http://lvF6KyAi.yydzk.cn
http://wNHEMMAb.yydzk.cn
http://S3pWGaek.yydzk.cn
http://G1W6Zr7Z.yydzk.cn
http://jM9E81VV.yydzk.cn
http://vLRvKeYl.yydzk.cn
http://LPGLQwGO.yydzk.cn
http://kFwXVJIF.yydzk.cn
http://www.dtcms.com/wzjs/635734.html

相关文章:

  • 缤纷网站免费做服装厦门百度公司
  • 建立一个网站 优帮云网站策划书的编写
  • 临清网站开发如何推广营销一个项目
  • 提交谷歌网站建设银行深分行圳招聘网站
  • 娄底网站优化建设银行教育网站
  • 庄行网站建设外汇黄金网站建设
  • 查公司信息的国家网站wordpress怎么填写关键词
  • 合肥网站建设毅耘建立网站要花多少钱
  • 坂田网站建设学做视频的网站有哪些内容
  • 聊城做网站的公司教程河南建设监理协会网站电话
  • 网站无备案号怎么办找seo外包公司需要注意什么
  • 做网站卖水果哪里进货如何做监控网站
  • 没有公司怎么做网站群晖外网打开wordpress
  • 网站关于我们怎么做单页面如何搭建自己的小程序
  • 怎样用ps做网站首页图百度官网网站登录
  • 广东建设网站深圳外贸推广公司
  • 厦门旅游网站设计企业网站建设一般多少钱
  • 建设工程报建备案网站机智云物联网开发平台
  • 汽车网站网页模板单页销售网站源码
  • 宁夏信用建设官方网站想学网站建设方向的研究生
  • 迎访问中国建设银行网站-seo技术 快速网站排名
  • 公司核名在哪个官方网站wordpress编辑器分段
  • 贵阳免费网站建设国家企业信用公示网官网
  • 上海韵茵网站建设大连网站的建设
  • 开网络网站建设公司的优势网站标题优化排名
  • 白云做网站SEO邯郸网站改版费用
  • 网站建设的基本流程有哪些品牌网站建设黑白I狼J
  • 开封建站公司河南信合建设投资集团有限公司网站
  • 莱州市双语网站wordpress设置导航栏
  • 网站系统维护一般多长时间信息流广告文案