加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 如何将UIButtons旋转90度,没有自动布局错误?

发布时间:2020-12-14 17:38:02 所属栏目:百科 来源:网络整理
导读:我在插座集合数组中有一些UIButton,我想用这段代码旋转: for(UIButton *button1 in b90){ button1.transform = CGAffineTransformMakeRotation( ( 90 * M_PI ) / 180 );} 不幸的是它不起作用.如果我赋予它将其旋转180度或360度的值,它确实有效. pi或2 pi等(
我在插座集合数组中有一些UIButton,我想用这段代码旋转:

for(UIButton *button1 in b90){
    button1.transform = CGAffineTransformMakeRotation( ( 90 * M_PI ) / 180 );
}

不幸的是它不起作用.如果我赋予它将其旋转180度或360度的值,它确实有效. pi或2 pi等(基本上意味着按钮将在同一个地方),但如果我给它任何其他值将使按钮处于倾斜方向我得到此错误:

由于未捕获的异常’NSInternalInconsistencyException’而终止应用程序,原因:’Autolayout不支持跨越边界布局约束的旋转边界变换,例如右,左,上,下.有问题的观点是:>’

框架和变换部分是不言自明的.我认为它只是说它不希望按钮完全偏斜.我可以通过解析xib文件中的“Use Autolayout”按钮来避免这个问题,但这会使旋转的按钮看起来像素化.如果你在运行时旋转iDevice,然后由于某种原因将其旋转回来,则取消混音,但这不是我想要的.

有关如何操作按钮而不禁用“使用Autolayout”选项的任何想法?

非常感谢所有帮助,我总是检查最佳答案!

解决方法

我使用相同的声明,它适用于我:

#define DEGREES_TO_RADIANS(d) (d * M_PI / 180)
btn.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-90));

我认为您正在使用IOS 6.0代码,其中使用旧的xcode启用自动布局.

你能提供更多关于它的细节吗?

谢谢

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读