2011-12-28 5 views
0

私はUIImageViewを持っています。画像を貼りたいのですが、画像はnavigationItem.titleに依存しています。UIImageViewは画像を表示しません

- (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. 
} 

答えて

3
if(self.navigationItem.title == @"Кружка") 

このような文字列を比較しないでください。これは、文字列の等価性ではなく、ポインタの等価性をチェックします。使用

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

2つのポインタが等しくないため、イメージが設定されていません。ブレークポイントを使用して

+0

ああ、そうです!私はいつもこのメソッドisEqulToStringを忘れています。 ありがとう! – Cosinus

+0

あなたは一人ではない、私の代理人の50%はこの質問に再回答することから来ている;) – jrturton

+0

本当に?これは私を慰める:) もう一度ありがとう! – Cosinus

0

を私は大会がのviewDidLoadの先頭に[スーパーのviewDidLoad]を呼び出すことだと思います。

それがもしブロック内で来ている場合は、いくつかのチェックポイント

  1. デバッグがあります。
  2. ギフト画像がサブビューとして追加されているかどうかを確認します。
+0

ありがとうございます!コードを次のように変更しました。 - (void)viewDidLoad { [super viewDidLoad]; if(self.navigationItem.title == @ "Кружка") { giftImage.image = [UIImage imageNamed:@ "cup1"]; } [self.view addSubview:giftImage]; } まだ動作しません。申し訳ありませんが、あなたが私に言った最初の点をどうすればいいですか? – Cosinus

1

デバッグとIf条件がtrueまたはfalseを返すかどうかを確認... それはFalseを返す場合、self.title

でself.navigationItem.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. 
関連する問題