更改设备旋转时的iphone背景图像

标签 iphone objective-c ios interface-builder uiimageview

我有一个 UIImageView作为我的控件背后的背景,旋转设备时出现问题。我想使用不同的 image取决于 orientation .

那么处理这个问题的最佳方法是什么?
添加和删​​除每个 UIImageView横向和纵向?
既有 View 又有隐藏/显示合适的 View ?
或者也许有一些类(class)或UIObject处理那个?

TIA

最佳答案

您可以使用它变得时髦,并叠加两个背景图像,一个具有 alpha = 1.0,另一个具有 alpha = 0.0。然后,当您旋转时,使用动画将 alpha 分别转换为 0.0 和 1.0,以获得淡入淡出效果。如果你选择这种方式,我建议把动画代码放在-viewWillAppear:例如,像这样:

[UIView beginAnimations:nil context:NULL]; {
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:1.0];
        [UIView setAnimationDelegate:self];
        if (toOrientation == UIInterfaceOrientationLandscape) {
                landscapeView.alpha = 1.0;
                portraitView.alpha = 0.0;
        }
        else {
                landscapeView.alpha = 0.0;
                portraitView.alpha = 1.0;
        }
} [UIView commitAnimations];

关于更改设备旋转时的iphone背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6553999/

相关文章:

iphone - 邮件上传视频

iphone - 为核心数据手动创建多对多关系的中间表

javascript - 如何区分手指滚动和点击状态栏滚动?

ios - 使用NSOperationQueue同时执行两个后台任务

ios - 云套件。是否可以清除 Caches\CloudKit\Assets?

iphone - CoreData 的重置适用于模拟器,而不是设备(直到应用程序重新启动)

iphone - UILabel 的 numberOfLines 在单元格中不起作用

objective-c - 如何在页面中添加评论框?

iphone - 使用UINib时看不到

ios - TableViewCell 高度引起的警告