【问题标题】:UILabel.transform - Orientation Dependent (support transform on upside down portrait only)UILabel.transform - 方向相关(仅支持倒置肖像的变换)
【发布时间】:2012-01-07 05:19:50
【问题描述】:

我正在寻找仅在某个方向上触发我的 UILabel.transform 所需的代码,倒置(有充分的理由)我的通用应用程序仅支持纵向,常规和倒置。到现在为止还挺好!我有将标签转换 180 度所需的代码(颠倒/反转文本)

.H
#define degreesToRadian(x) (M_PI * (x) / 180.0)
IBOutlet UILabel *Label;

.M
Label.transform = CGAffineTransformMakeRotation(degreesToRadian(180));

我想要的代码是:

在常规纵向(底部的主页按钮)时,标签是正常的。 当处于倒置肖像(顶部的主页按钮,底部的相机)时,标签会发生变化。

提前致谢!

附:您在这方面的帮助将有助于一个显着的公益事业,我很乐意在它完成后分享(几天后)

【问题讨论】:

    标签: iphone xcode ipad ios5 xcode4.2


    【解决方案1】:

    您需要在 UIViewController 子类中覆盖 willAnimateRotationToInterfaceOrientation:duration:。在该方法中,您可以检查新的界面方向并适当地设置标签的变换。

    【讨论】:

    • 太棒了,我不知道要覆盖什么,现在我知道它叫什么,我可以从那里找到更多信息。我想我有必要的代码,但目前没有可以测试的设备。你能帮我检查一下吗?我将在第二条评论中发布。
    • - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterf‌​aceOrientation duration:(NSTimeInterval)duration { if (UIInterfaceOrientationIsPortrait(UIInterfaceOrientationPortraitUpsideDown)) { TranslateLabel.transform = CGAffineTransformMakeRotation(degreesToRadian(180)); } }
    • 在模拟器中测试一下即可。您可以通过从菜单栏中的硬件菜单中选择向左旋转或向右旋转来旋转模拟器。
    • 编辑您的问题并发布您的新代码。或者提出一个新问题。
    • 好的,所以只是将变换从 viewDidLoad 移到该方法中,它按预期工作,它只会在倒置模式下翻转标签,但是当我切换回纵向时,它不会再次变换(在模拟器中) 我很好奇我是否需要添加另一个语句来处理这个问题或者这只是一个模拟器错误?
    猜你喜欢
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多