- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一个类似于按下按钮时将按钮分成小部分的动画效果。有没有一种简单的方法可以用 Quartz 等来做到这一点?它的外观非常灵活。
最佳答案
我会把你的按钮图像带入图形程序并准备它的不同版本,每个版本都有一个 alpha channel ,用一小块遮挡所有图像,图案的方式是,如果所有图像都堆叠起来,它们就会看起来像整个按钮。 (为了获得更好的效果,您可以在“碎片”的边缘做一些绘画,这样它们就会有一些造型。)
您需要对应该使用什么文件格式进行一些研究。也许 png 是最好的,但 jpeg 也可以。
返回 Xcode,为每个“片段”创建 CALayer,并将您创建的图形文件设置为 CALayer 的内容。当需要制作“分解”动画时,将新的 CALayers 作为子图层添加到 View 的图层中:
[self.view.layer addSublayer:layerPiece]; // do this for each layer
并为每一层创建一个 CAKeyframeAnimations 的 CAAnimationGroup —— 可能是 translate、translate.rotation 和 opacity。您可以在那里找到示例。有用的提示:旋转必须以弧度为单位。您需要设置值以使图层旋转并彼此分开,并可能在最后淡出。以下是淡出动画的示例:
CAKeyframeAnimation *animFadeOut = [CAKeyframeAnimation animationWithKeyPath:@"opacity"];
animFadeOut.values = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0], [NSNumber numberWithFloat:1.0], nil];
animFadeOut.keyTimes = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.4f], [NSNumber numberWithFloat:1.0f], nil];
最后,对于每一层,您都可以像这样设置动画:
[layerPiece3 addAnimation:animGroup3 forKey:@"arbitraryAnimPropertyString"];
这是一项艰巨的工作。或者,如果您可以使用 Adobe After Effects 等合成程序,则可以准备动画电影(仍然是相当多的工作,但比盲目设置关键帧编号容易得多),然后只需通过按钮播放即可。我没有在 iOS 中播放电影,但我假设您将其设置为 CALayer 的内容并将图层添加到 View 中以显示和播放电影。
理想情况下,您可以使用 3D 软件对按钮进行建模、纹理化和照明,使用粒子效果将其分解,渲染短片,并将该电影应用到图层。 p>
关于iphone - 动画效果: breaking button into parts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11705286/
是否有效率偏好以下控制流选项之一用于循环或切换另一个? 选项 1: switch(...){ case 1: if (...) { ... } else if
我需要在某个地方修复一些 CSS,因为我的文本没有环绕,如果它是一个非常长的单词,它会无限期地继续下去。 在大多数情况下,我在我的 CSS 文件中尝试了 word-wrap: break-word;
这个问题在这里已经有了答案: What is the difference between "word-break: break-all" versus "word-wrap: break-word
我的问题: overflow-wrap: break-word 和 word-break: break-word 有区别吗? 非重复: 这里有一些现有的问题,乍一看可能是重复的,但实际上不是。 Wha
我目前想知道两者之间有什么区别。当我同时使用它们时,如果它不适合容器,它们似乎会打破这个词。但为什么 W3C 做了两种方式来做呢? 最佳答案 word-wrap: break-word 最近更改为 o
满足条件时如何跳出循环? 例如: for (i in 0..10){ if (i==3){ // equivalent of break } } 最佳答案 Q#没有中
CSS3 规范说部分支持 word-wrap:break-word; 在 Chrome 中你必须使用 word-wrap:break-all; 但是没有连字符。我正在使用 text-align:jus
我想在我的 View 列表中显示来自数据库的所有评论。但有时,评论会很长。我试图用 word-wrap:break-word 来“打破”它们,但没有结果——像这样的评论 aaaaaaaaaaaaaaa
我正在尝试将一个长 URL 放置在侧边栏中,以在表格单元格宽度的范围内中断和换行。我已将 style="word-break:break-all;" 添加到 td 和围绕文本和 URL 的 span
我有以下代码: public void post(String message) { final String mess = message; (new Thread() {
是否有 word-break: break-word 的 alternative 可以在 firefox 中使用? 在 firefox[版本 57.0] 中 在 Chrome [版本 62.0.320
在this question以及this blog ,其中提到了样式 word-break 及其值。此外,还有值 break-word 作为属于例如的东西。 自动换行类。 在最近的 VS 中 MVC
我正在尝试将文本包装在 td 中并使用以下样式 word-break:break-all 在 IE 中工作得很好,但在 Firefox 中失败,请注意这是不支持的!尝试了 http://petesbl
我正在使用“word-break: break-all”在任何字符之间插入分隔符。 但是,在 Chrome 中,它无法正常处理特定字符(例如冒号、分号、逗号),如下所示。 (我的代码笔在这里:http
它只有在我用不同的元素包裹 anchor 标记时才有效,但我正在阅读 html,所以我想将它添加为整个页面的样式。 最佳答案 我不确定你想在这里实现什么,如果你能分享一些代码片段会很好。 无论如何,我
这些看起来都是一样的,有什么区别? https://jsfiddle.net/pmuub8w1/2/ p{ word-break:normal; } p{
目前下面的代码,保持div宽度固定,换行由于break-all .Test{ float: left; margin-bottom: 2px; word-wrap:break-word; word-b
我正在使用 word-break: break-all; 并想知道如何让浏览器自动插入 hyphens ,如 MDN example 中所示. div { width: 80px; heigh
我的 html 有这种结构: content1 content2 content3 content4 content5 content6 co
我正在尝试对齐图像旁边的文本。我想考虑没有空格的长字符串。 我的css如下 .new_item { width: 100%; float: left; border-bottom: 1px solid
我是一名优秀的程序员,十分优秀!