【问题标题】:IOS center bottom position viewIOS中心底部位置视图
【发布时间】:2012-10-19 16:24:48
【问题描述】:

我对加载动画执行以下操作,将其放置在屏幕的底部中心。

CGPoint bottomCenter = CGPointMake((self.imageView.bounds.size.width / 2), (self.imageView.bounds.size.height * 0.8));  
    self.activityView.center = bottomCenter;

(imageView 为全屏启动画面)

如果方向是纵向,则它的定位是完美的,但无论是侧向、横向还是倒置纵向,动画都会在数英里之外结束:S

有谁知道放置这个加载动画的正确方法,它用于启动屏幕。

【问题讨论】:

    标签: objective-c ios view position


    【解决方案1】:

    使用UIDeviceOrientationIsLandscape(deviceOrientation)UIDeviceOrientationIsPortrait(deviceOrientation) 而不是deviceOrientation==X

    【讨论】:

      【解决方案2】:

      首先,看看 tkanzakic 的回答。 其次,不要使用屏幕边界,通过其父视图定位视图。如果您将视图放在父视图的底部并正确设置了自动调整大小的遮罩,那么一切都会自动完成 - 无需检查设备方向。

      【讨论】:

      • 这似乎没有帮助,因为它在启动屏幕上,许多视图没有完全加载,所以没有正确的宽度和高度,我修改了代码就像这个:CGPoint bottomCenter = CGPointMake((self.imageView.bounds.size.width / 2), (self.imageView.bounds.size.height * 0.8)); self.activityView.center = bottomCenter;初始屏幕图像边界的位置,表示在任何方向上都具有正确的高度和高度,但在标准纵向模式以外的任何地方仍然无法坐在正确的位置
      • @Ben_hawk 显示未完全加载的内容将不起作用。这是正确的答案。如果这对你不起作用,那就怪你的架构。启动画面不是某种特殊的视图。此外,您不需要视图具有正确的界限。您只需正确设置自动调整大小,当视图获得正确的边界时,所有内容都会正确调整大小(和重新定位)。
      • 它不能是我的架构,因为它来自 phonegap 框架,加载动画是你在 phonegap 项目中获得的默认动画。我试图移动它的原因是,它覆盖了我的初始屏幕图像,所以我希望它位于底部:(,但它似乎无视我尝试的任何东西,它不会像其他视图一样自动旋转,我的猜测是,它与手机刚启动时的定位有关 o.0
      • @Ben_hawk 那么phonegap应该在你的问题中提到!
      【解决方案3】:

      试试这个代码

      CGRect screenBounds = [[UIScreen mainScreen] bounds];
      CGPoint bottomCenter;
      if (deviceOrientation == 1) {
      
      bottomCenter = CGPointMake((screenBounds.size.width / 2), (screenBounds.size.height * 0.8));
      } 
      else if (deviceOrientation == 4) {
      bottomCenter = CGPointMake((screenBounds.size.width / 2), (screenBounds.size.height * 0.8));
      }
      

      在横向模式下,您的宽度和高度错误

      在横向模式下,宽度和高度也会改变。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-01
        • 2012-05-20
        • 2018-06-18
        • 2022-11-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多