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

ios - UIButton 中的内容在动画后移动

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

我的 UIButton 动画后出现问题。让我解释一下步骤。

我有一个按钮,里面有一张图片。当我点击我的按钮时,我会为框架设置动画以获得较大的宽度,然后当我的框架大小合适时,我会添加我的文本(所以左边有我的图像,右边有文本)。
首先,当我开始动画时,我的图像完全在左侧,我不知道为什么,当我回到初始帧时,我的图像完全离开了我的 UIButton,仍然没有不知道为什么

有一些屏幕需要更多解释:

http://pastebin.com/6MQ5xyA8 (对不起,没有 10 点声望,我不能粘贴多个链接)

这是我的代码:

// Extand
CGRect loginSize = self.nvButtonConnect.frame;
loginSize.size.width = 297;
loginSize.size.height = 48;
CABasicAnimation *sizeAnimation = [CABasicAnimation animationWithKeyPath"bounds"];
sizeAnimation.fromValue = [NSValue valueWithCGRect:self.nvButtonConnect.frame];
sizeAnimation.toValue = [NSValue valueWithCGRect:loginSize];
[sizeAnimation setRemovedOnCompletion:NO];
sizeAnimation.fillMode = kCAFillModeForwards;

// Go back (in another method)
CGRect loginSize = self.nvButtonConnect.frame;
loginSize.size.width = 48;
loginSize.size.height = 48;
CABasicAnimation *sizeAnimation = [CABasicAnimation animationWithKeyPath"bounds"];
sizeAnimation.fromValue = [NSValue valueWithCGRect:self.nvButtonConnect.frame];
sizeAnimation.toValue = [NSValue valueWithCGRect:loginSize];
[sizeAnimation setRemovedOnCompletion:NO];
sizeAnimation.fillMode = kCAFillModeForwards;

你有什么想法吗?
我尝试使用自定义 contentEdgeInset、TitleEdgeInset、ImageEdgeInset,似乎没有任何效果。



Best Answer-推荐答案


您正在将 frame 值设置为您的 bounds,这将替换 View 坐标系的原点。始终使用 bounds ,它应该可以工作。

关于ios - UIButton 中的内容在动画后移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16179089/

回复

使用道具 举报

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

本版积分规则

关注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