【问题标题】:UIImageView doesn't show pictureUIImageView 不显示图片
【发布时间】:2011-12-29 03:06:03
【问题描述】:

我有一个UIImageView,我想在其中粘贴一张图片,但是哪张图片取决于navigationItem.title

代码如下:

- (void)viewDidLoad
{
    if(self.navigationItem.title == @"Кружка")
    {
        giftImage.image = [UIImage imageNamed:@"cup2.png"];
    }
    [super viewDidLoad];
}

没有错误,只是不起作用。怎么了?

我将代码更改为:

- (void)viewDidLoad
{

    [super viewDidLoad];
    if(self.navigationItem.title == @"Кружка")
    {
        giftImage.image = [UIImage imageNamed:@"cup1"];

    }


    [self.view addSubview:giftImage];
    // Do any additional setup after loading the view from its nib.
}

【问题讨论】:

    标签: objective-c ios uiimageview


    【解决方案1】:
    if(self.navigationItem.title == @"Кружка")
    

    不要像这样比较字符串。这是检查指针相等,而不是字符串相等。使用

    if([self.navigationItem.title isEqualToString: @"Кружка"])
    

    您的图像未设置,因为两个指针不相等。

    【讨论】:

    • 哦,对了!我总是忘记这个方法 isEqulToString。谢谢!
    • 你并不孤单,我 50% 的代表来自重新回答这个问题 ;)
    • 嗯,真的吗?这让我感到安慰 :) 再次感谢!
    【解决方案2】:

    使用断点调试并检查 If 条件是返回真还是假... 如果返回 False,则将 self.navigationItem.title 替换为 self.title 重试

    如果它返回 true 则:

    1. Recheck cup2.png spellings (Note that image extension is mandatory)
    2. Image names are case sensitive. so recheck letter case in spellings
    3. This image must present in xcode resources.
    

    【讨论】:

      【解决方案3】:

      我认为约定是在viewDidLoad的开头调用[super viewDidLoad]。

      有几个检查点

      1. 如果它进入 if 块,则进行调试。
      2. 检查giftImage是否添加为子视图。

      【讨论】:

      • 谢谢!我将代码更改为: - (void)viewDidLoad { [super viewDidLoad]; if(self.navigationItem.title == @"Кружка") { giftImage.image = [UIImage imageNamed:@"cup1"]; } [self.view addSubview:giftImage]; } 但还是不行。对不起,我该怎么做你告诉我的第一点?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多