Ios 旋转UIButton标题标签而不剪切

Ios 旋转UIButton标题标签而不剪切,ios,iphone,swift,uibutton,facebook-pop,Ios,Iphone,Swift,Uibutton,Facebook Pop,我试着把UIButton的标题标签旋转45度。文本中的字符为“+” 我可以得到一个旋转的标题 button.titleLabel?.transform=CGAffineTransformMakeRotation(CGFloat(M_PI_4)) 但是,“+”符号的一端被剪裁,如下面的屏幕截图所示 我找到了,但我不太明白问题是如何解决的。奇怪的是,剪裁的部分仍然存在于其他端点的边界内,它没有突出到符号的“正方形”之外 我还试着使用Facebook的Pop库,这种方法很有效,只是我不知道如何

我试着把UIButton的标题标签旋转45度。文本中的字符为“+”

我可以得到一个旋转的标题


button.titleLabel?.transform=CGAffineTransformMakeRotation(CGFloat(M_PI_4))

但是,“+”符号的一端被剪裁,如下面的屏幕截图所示

我找到了,但我不太明白问题是如何解决的。奇怪的是,剪裁的部分仍然存在于其他端点的边界内,它没有突出到符号的“正方形”之外

我还试着使用Facebook的Pop库,这种方法很有效,只是我不知道如何进行正常的逆时针或顺时针旋转。我将
kOplayerRotation
M_PI_4
一起使用,它做了一些意想不到的事情。如果有人能提供基本顺时针/逆时针旋转的示例代码,我很乐意使用Pop

一个可能相关的问题:标题栏的中心也在移动。有没有一个简单的方法来防止这种情况


非常感谢您的帮助。

您正在旋转按钮内的标题标签。按钮没有旋转。但标签是旋转的。因此,您得到的剪辑或中心错位的标签。我建议你转动按钮本身。因此,它也将旋转其子视图

// Check already it was rotated,transformed...?
if (CGAffineTransformIsIdentity(button.transform)) {

    //Yes, Reset to the original position and size.
    button.transform = CGAffineTransformIdentity;

}

//Apply rotation now
button.transform=CGAffineTransformMakeRotation(M_PI_4);

对于将来讨论这个问题的人,我最终创建了一个新的UIView(蓝色矩形),其中包含UIButton(白色“+”)。然后我禁用了UIButton上的used交互,并在UIView中添加了一个手势识别器。当我想旋转“+”时,我旋转了整个UIButton(但没有旋转包含的UIView)。

感谢您的帮助。在那之后,我如何重置按钮的框架,以便只有标题标签旋转,而不是整个按钮?我试着做了
button.bounds=CGRectMake(…)
,但没有解决它;然后设置按钮的框架。我试着做一些类似于
button.transform=cgrafinetransformmakerotation(CGFloat(M_PI_4))
然后
button.transform=cgrafinetransformity
然后
button.frame=CGRectMake(…)
,但是这没有效果(即,整个按钮将旋转,然后再旋转回来,但按钮的实际标题将回到它开始的位置—一个常规的“+”)。