【问题标题】:Xcode - Image view not hidingXcode - 图像视图不隐藏
【发布时间】:2013-01-07 02:52:26
【问题描述】:

我在一个基本应用程序中有一个图像视图,我试图在加载时将其设置为隐藏:

- (void)viewDidLoad
{
    my_image.hidden = YES;
}

此代码以及其他一些属性更改根本不起作用。我已经合成了 my_image 属性。任何想法为什么这可能不起作用?另外,如果您需要任何进一步的信息,请告诉我。我是新手,真的很困扰我,所以提前谢谢!

【问题讨论】:

  • [my_image.view removeFromSuperview];可能对你有用。
  • 用调试器验证 my_image 不为零。视图是延迟加载的,这可能是您的问题。

标签: ios xcode xcode4.5


【解决方案1】:

用简单的代码行很难说清楚,my_image.hidden = YES; 但我认为你可以做以下事情:

  1. 在控制台中打印 imageView(您的“my_image”对象)以查看它。
  2. 使用 imageView 的其他属性来查看是否可以对其进行操作,例如更改框架、设置背景颜色或为其设置图像。如果您可以更改框架,那么您可以在其他位置设置my_image.hidden = NO;
  3. 创建另一个 UIImageView 对象并添加试试看!
  4. 如果以上都不起作用,您可以将“my_image”的框架设置为 CGRectZero 以隐藏它。

【讨论】:

  • 我发现了一个有趣的发现...我可以通过在通过 IBOutlet 连接之前双击图像视图来完成这项工作。不知道为什么会这样,但我选择了你的答案,因为它帮助我偶然发现了这个解决方案。谢谢。
【解决方案2】:

也许您忘记连接 IBOutlet 了?你在使用 .xib 吗?

【讨论】:

  • 我确实连接了它,它生成了以下代码@property (weak, nonatomic) IBOutlet UIImageView *my_image;
  • 嗯,那很奇怪,但是如果你只想在 viewDidLoad 中隐藏它,你可以直接通过界面生成器来完成(如果你想稍后以编程方式显示,这并不能解决问题)。顺便说一句,我认为对 IBOutlet 使用(强,非原子)更好。
  • 是的,就是这样...我稍后需要以编程方式执行此操作。
【解决方案3】:

在 my_image.hidden = YES;它是否进入断点?如果进入 ,请确保 my_image 不为零。

【讨论】:

    【解决方案4】:
    UIImageView *imageview = [[UIImageView alloc]init];
    [imageview setHidden:YES];
    

    【讨论】:

    • 请避免仅使用代码回答。添加对代码正在做什么的解释。
    【解决方案5】:

    二传手为我工作:

    UIImageView * bb = (UIImageView*)[self.view viewWithTag:1];
    [bb setHidden:YES];
    

    【讨论】:

      【解决方案6】:

      我在隐藏图像视图时遇到了同样的问题,但是如果您删除 @property 语句,隐藏的行为会正常运行。 在 viewdidLoad 中设置隐藏然后 IBaction - 工作正常

      .h

       IBOutlet UIImageView *crackedimage1;
      

      .m

       -(void)viewdidLoad
         crackedimage1.hidden = YES;
      
       - (IBAction)crackaction1:(id)sender {
      
      
         crackedimage1.hidden   = NO;};
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-15
        • 1970-01-01
        • 2017-01-05
        相关资源
        最近更新 更多