好吧,这是有史以来最奇怪的问题,也许不是,但无论如何:-)
我有一个项目,一切似乎都工作正常,我已经添加了 CoreData 和所有框架(包括其他框架),所以简而言之,代码运行正常,没有错误或故障。
除了这个:我最初的 UIViewController
不允许我更改其颜色或向其添加任何 subview 。在代码中是的,没有问题。在 Storyboard中同样不是问题,但是当我在模拟器或应用程序中运行它时,它只是显示为白色。
现在我没有code
或storyboard
图像,我知道这是不受欢迎的,但我真的无法告诉你我的问题出在哪里。
但是这是我尝试过的:
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/