2012-11-12 55 views
-1

我認爲第一步是添加圖像視圖。如果我必須添加任何代碼,請告訴我它屬於哪裏。我並不是要求你自己去告訴我如何添加代碼。我知道該怎麼做。我只想知道代碼所屬的「UIViewController.h」中的哪個位置。哦,如果圖片必須是PNG,請告訴我。如何在導航欄控制器中的標題旁放置圖像?

回答

1

下面的代碼會放的圖像。如果你同時需要,你需要一個UIView,它有圖像和標題添加到它的標題,然後將該UIView設置爲下面代碼的第二行視圖(注意:如果使用ARC刪除autorelease部分):

UIImage *image = [UIImage imageNamed:@"image.png"]; 
self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:image] autorelease]; 
+0

如果你想要一個標題和圖像,你會做一些像UIView * containerView = [[UIView alloc] initWithFrame:];然後添加imageView和標籤到該UIView:[containerView addSubview:myImageView];和[containerView addSubview:myLabelView] ;,然後將containerView設置爲在上面第二行完成... – HackyStack

+0

感謝您的答案,但似乎應該有一個更好的方法來做到這一點。我將會看到奧列格對此有何評論。如果我找不到更好的答案,我會給你一個代表。 – moonman239

+0

這是做到這一點的最佳方式,但我歡迎您的研究。與Oleg所說的簡單添加子視圖相比,它要好得多(BTW)。可能會有意想不到的結果。正如我所說的,你應該使用titleView。這就是它的原因。 – HackyStack

1

這段代碼添加到您的viewDidLoad:其中標題去

UIImage *image = [UIImage imageNamed: @"logo_icon.png"]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
imageView.frame = CGRectMake(yourXposition, yourYposition, yourWidth, yourHeight); 
[self.navigationController.navigationBar addSubview:imageView]; 
+0

我們在談論什麼觀點?內容視圖? – moonman239

+0

你可以添加任何子視圖到你的UINavigationBar。在我的示例中,我創建了UIImageView並使用我想要添加的圖像對其進行初始化。 – Oleg

+0

使用此技術的挑戰是知道要使用的x位置。你不能只用帶特定字體的字符串來計算標題,因爲它可能會被導航欄截斷。 –

相關問題