首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIActivityIndicatorView失调

UIActivityIndicatorView失调
EN

Stack Overflow用户
提问于 2011-11-30 17:50:29
回答 3查看 2.1K关注 0票数 3

我在XIB中水平地以UIActivityIndicatorView为中心。

在iOS 4(模拟器)中,指示器默认为大白色( iOS 5中引入的颜色属性),这很好。奇怪的是它也被抵消了。

我最初的假设是,XIB (或类似的东西)出了问题。然而,在iOS 5(模拟器,iPhone 4)中,它工作得很完美。

考虑到iOS 4到iOS 5中关于UIActivityIndicatorViews的唯一变化就是添加了color属性,我感到很困惑。我知道这里可能没有足够的信息来推断出确切的问题。我更关心从哪里开始调试,并欢迎任何关于我可以提供的进一步信息的建议。

进一步信息:

  • iPad将指示器加载到一个可靠的位置,只在iOS 4和iOS 5之间改变颜色。
  • I有两个静态起始点(portPoint = (x, y); landPoint = (w, z);),在旋转时手动设置。当应用程序加载时,这个指示器的来源是(正确的) portPoint (我已经通过NSLog进行了验证),尽管它在视觉上不对齐。当我旋转到景观,原点正确(视觉和数据)设置为landPoint。当我向后旋转时,原点(在视觉上和数据上)正确地设置为portPoint,从而解决了这个问题.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-16 10:18:07

您说得对,w/o看到您的代码,我无法判断还有什么正在进行,但是在superview中以视图为中心,并在设备旋转时保持这一点相当简单。试试这个:

UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin

  • Position

  • 确保UIActivityIndicatorViewautoResizingMask设置为在其超级视图中心的活动指示器,无论是在XIB文件中还是在viewDidLoad

  • Don't中,在旋转时更改活动指示符的框架,它应该保持居中的automatically

如果上面没有修复它,就发布一些代码以及相关视图的autoResizingMaskcontentMode值。

票数 5
EN

Stack Overflow用户

发布于 2011-12-09 23:26:57

它看起来确实像它的位置,好像设备是在景观中。检查是否在视图大小或方向发生更改时将其重新定位。

票数 0
EN

Stack Overflow用户

发布于 2011-12-15 22:12:36

想法:

1/您的视图(活动指示器超级视图)比显示的要大(坏的自动调整掩码?xib plist中的坏值?)或者它在其superview中的位置很差。

2/自动调整掩码的设置不正确。对于活动指标,应该是

代码语言:javascript
复制
(UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin)

要调试这一点,请尝试将日志登录到viewDidAppear中。获取活动指示器的中心(CGPoint),并使用UIView方法将其转换为顶部视图坐标(例如[UIView convertPoint:fromView:])。这个位置应该和你在屏幕上看到的位置相同。

如果不是,还有一些更大的问题,可能与动画状态有关。否则,您应该能够找到视图,它将您的活动指示器转换为这个奇怪的位置。记录层次结构中所有视图的框架。

检查您是否将信息记录在正确的位置,并且在日志记录之后没有更改视图位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8330538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档