ios - UIView 似乎已锁定 - 这是一个奇怪的

标签 ios uiview uiviewcontroller ios7 initialization

好吧,这是有史以来最奇怪的问题,也许不是,但无论如何:-)

我有一个项目,一切似乎都工作正常,我已经添加了 CoreData 和所有框架(包括其他框架),所以简而言之,代码运行正常,没有错误或故障。

除了这个:我最初的 UIViewController 不允许我更改其颜色或向其添加任何 subview 。在代码中是的,没有问题。在 Storyboard中同样不是问题,但是当我在模拟器或应用程序中运行它时,它只是显示为白色

现在我没有codestoryboard图像,我知道这是不受欢迎的,但我真的无法告诉你我的问题出在哪里。

但是这是我尝试过的:

1) 在 Storyboard 中创建了一个新的 UIViewController

2) 创建一个新的 Objective-C 子类文件,使用不同的名称并删除旧的

3)创建一个新项目并转移所有内容

4)删除并重置iPhone模拟器上的应用程序

5) 删除设备上的应用

现在,当我将代码 self.view.backgroundColor = [UIColor redColor]; 添加到项目内的任何其他 UIViewController 或添加 UIImageView code> 在其他任何地方,它都可以工作。只是初始 UIViewController

有人可以帮忙吗 - 我没有想法,我不想要一个白色的 UIViewController 作为我的登陆页面。

我再次为没有视觉辅助或代码而道歉,但我会发布我的整个项目。 预先感谢您。

======================================

编辑

for (UIButton *btn in self.view.subviews)
{
    [btn removeFromSuperview];

}

它带走了 UIImageView。

最佳答案

这段代码:

for (UIButton *btn in self.view.subviews)
{
    [btn removeFromSuperview];
}

您似乎假设它只会处理按钮 - 但您错了。您只是要求编译器相信您 subviews 数组中的所有内容都是 UIButton 实例。因此,您正在做的是遍历所有 subviews,无论它们是什么,然后删除它们。

只删除按钮:

for (UIView *view in self.view.subviews)
{
    if ([view isKindOfClass:[UIButton class]]) {
        [view removeFromSuperview];
    }
}

关于ios - UIView 似乎已锁定 - 这是一个奇怪的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20593636/

相关文章:

ios - SpriteKit 防止 Sprite 在没有弹跳的情况下离开屏幕

ios - drawRect 绘制的内容是否可以使用 UIView 动画进行动画处理?

uiviewcontroller - IBDesignable UIViewController

ios - 条形按钮项目不会连接到退出

ios - AVAssetWriterInput,无法选择视频分辨率吗?

ios - 如何锁定 UITextField 输入以在 SWIFT 上只接受从 A 到 Z 的一个字母

ios - 有条件地链接 iOS 上的库

ios - 将 UIScrollView 适配到 UIView

ios - 暂停 UIView 的关键帧动画

swift - 在 subview 中显示 View Controller