按钮文本未显示且 xcode 崩溃
Posted
技术标签:
【中文标题】按钮文本未显示且 xcode 崩溃【英文标题】:Button text not showing and xcode crashing 【发布时间】:2013-01-13 13:41:43 【问题描述】:我刚开始学习ios开发。我花了几天时间试图解决这个问题,但我一无所获。希望有人可以提供帮助。
我正在为 iPhone 开发一个计算器应用程序(只是为了练习)。我创建了一个按钮网格,但是当我开始创建最后一行时,xCode 在我创建或移动每个按钮后不断崩溃。我最终创建了布局,但是当我运行应用程序时,按钮文本不会显示底行(在 IOS 模拟器或我的 iPhone 上)的任何按钮:
+----+ +----+ +----+ +----+ +----+
| 7 | | 8 | | 9 | | + | | - |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 4 | | 5 | | 6 | | / | | * |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 1 | | 2 | | 3 | | | | AC |
| | | | | | | | | |
+----+ +----+ +----+ | | +----+
| = |
+----+ +----+ +----+ | | +----+
| | | | | | | | | |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
如果我将按钮从底行一一移动到顶行,文本会显示在它们上面,但仍然不在底行:
+----+ +----+ +----+
| . | | +- | | C |
| | | | | |
+----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 7 | | 8 | | 9 | | + | | - |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 4 | | 5 | | 6 | | / | | * |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 1 | | 2 | | 3 | | | | AC |
| | | | | | | | | |
+----+ +----+ +----+ | | +----+
| = |
+----+ | |
| | | |
| | | |
+----+ +----+
然后,当我将最后一个按钮移到顶部时,新的底行停止显示文本:
+----+ +----+ +----+ +----+
| 0 | | . | | +- | | C |
| | | | | | | |
+----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 7 | | 8 | | 9 | | + | | - |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 4 | | 5 | | 6 | | / | | * |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 1 | | 2 | | 3 | | | | AC |
| | | | | | | | | |
+----+ +----+ +----+ | | +----+
| |
| |
| |
| |
+----+
然后我将等号按钮上移,新的底行无法显示文字:
| |
| |
+----+ +----+ +----+ | = | +----+
| 0 | | . | | +- | | | | C |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 7 | | 8 | | 9 | | + | | - |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+ +----+
| 4 | | 5 | | 6 | | / | | * |
| | | | | | | | | |
+----+ +----+ +----+ +----+ +----+
+----+ +----+ +----+ +----+
| | | | | | | |
| | | | | | | |
+----+ +----+ +----+ +----+
这真是令人沮丧!我在一个新的应用程序中再次开始得到同样的东西,总是没有显示的最低对齐行。如果我切换到 3.5" 视图,问题仍然存在。我尝试将按钮进一步间隔开,尝试更改所有文本参数,更改视图以禁用自动调整子视图并将模式从比例更改为适合,但这仍在发生。我找不到任何其他描述此问题的帖子,这似乎很奇怪,因为它很容易重新创建。请帮助。
【问题讨论】:
你使用自动布局选项吗? 看起来就是这样。谢谢 @DominicSander,将其发布为答案。干得好! 【参考方案1】:我建议仅在非常特殊的情况下使用 iOS 6 的新自动布局选项。我已经非常深入地测试了这个选项并发现了很多错误,例如:
在控制台中出现指示苹果错误的消息 它会大大降低您的 UI 速度 当布局约束突然消失时 应用程序有时会崩溃并显示未记录的错误消息目前使用自动布局非常令人沮丧。我不使用自动布局,而是使用
- (void)viewDidLayoutSubviews
以编程方式调整我的 UI,这更容易和更快(在开发和运行时)。
【讨论】:
【参考方案2】:您需要取消单击“Interface Builder Document”下的“使用自动布局”切换。 我遇到了同样的问题,禁用它后,按钮中的文本正确显示。
显示实用程序/文件检查器/界面构建器/使用自动布局
据我所知,这是 iOS 6.1 的一个新“功能”
【讨论】:
以上是关于按钮文本未显示且 xcode 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
当我按下一个按钮时我的游戏崩溃了(以 NSException 类型的未捕获异常终止)