我正在使用此块为我的文本上的脉冲设置动画,当我这样做时,文本会向右移动一些并且向后移动。看起来它是由于某些填充或界面构建器添加的东西。
[UIView animateWithDuration:0.5 animations:^{
// grow the label up to 130%, using a animation of 1/2s
myLabel.transform = CGAffineTransformMakeScale(1.3,1.3);
} completion:^(BOOL finished) {
// When the "grow" animation is completed, go back to size 100% using another animation of 1/2s
[UIView animateWithDuration:0.5 animations:^{
myLabel.transform = CGAffineTransformIdentity;
}];
}];
答案 0 :(得分:2)
返回途中将anchorPoint减少1.3倍。将您的代码更改为此 -
CGPoint anchorPoint = myLabel.layer.anchorPoint;
[UIView animateWithDuration:0.5 animations:^{
// grow the label up to 130%, using a animation of 1/2s
myLabel.transform = CGAffineTransformMakeScale(1.3,1.3);
} completion:^(BOOL finished) {
// When the "grow" animation is completed, go back to size 100% using another animation of 1/2s
myLabel.layer.anchorPoint = CGPointMake(anchorPoint.x/1.3, anchorPoint.y/1.3);
[UIView animateWithDuration:0.5 animations:^{
myLabel.transform = CGAffineTransformIdentity;
}];
}];
答案 1 :(得分:0)
我尝试了你的代码。它适用于标签中正确放置文本的标签,或者这些标签具有文本对齐中心。
所以我的建议是,如果你有标签有静态或固定的文字然后给标签的背景颜色,并检查标签文本是否太大,然后这样做,以便文本适合标签。那么你的代码就可以了。
现在,如果您有动态文本,请尝试动态计算标签宽度,如下所示
UIFont *font = [UIFont systemFontOfSize:9.0];
CGSize stringSize;
stringSize = [myLabel.text sizeWithFont:font constrainedToSize:CGSizeMake(1000, myLabel.frame.size.height) lineBreakMode:UILineBreakModeWordWrap];
然后将stringSize.width
指定为mylabel width。这意味着您将动态更改标签的宽度。
然后你的代码可以正常工作。
答案 2 :(得分:0)
您应该尝试使用此代码我认为它会对您有所帮助,首先它会将您的图像缩放到130%然后它会将您的图像缩小到原始尺寸
<button id="stop">Stop</button><br>
<canvas id="canvas" width=400 height=100></canvas>