2013-04-25 27 views
6

Tôi chỉ muốn biết cách tôi có thể đặt tiêu đề của mục thanh tab bằng cách sử dụng UITabBarSystemItem?Cách đặt tiêu đề bằng UITabbarsystemitem

gì tôi đã làm:

self.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFeatured tag:0];

Vì vậy, để thay đổi tiêu đề theo mặc định thay vì "nổi bật" (vì UITabBarSystemItemFeatured đối tượng), tôi đã viết:

self.tabBarItem.title = @"Actu";

Vì vậy, trong tâm trí của tôi, tôi nên có "Actu" như là tiêu đề thay vì "nổi bật".

Nhưng nó không thay đổi gì, tiêu đề tiếp tục là "Nổi bật" (tiêu đề mặc định).

Tôi cũng đã cố gắng:

[[self.tabBarController.tabBar.items objectAtIndex:0] setTitle:NSLocalizedString(@"Actu", @"Actu")];

(vì tabbaritem này là chỉ số 0), nhưng không có gì thay đổi.

Hoặc có thể sửa đổi như vậy không thể sử dụng đối tượng UITabBarSystemItem?

Tôi hy vọng điều này là cũng đủ giải thích:/

PS: Xin lỗi vì tiếng anh và bất cứ thứ gì sai, bài 1 của tôi bao giờ ...:/

Trả lời

4

Khi được UITabBarItem được sử dụng bằng cách sử dụng initWithTabBarSystemItem:tag:, bạn không thể thay đổi thuộc tính hình ảnh hoặc tiêu đề sau này.

Nguồn: iOS Development Documentation

+0

Ok, vì vậy tôi phải nhập ảnh của riêng mình nếu tôi muốn đặt tiêu đề. Cảm ơn vì câu trả lời nhanh ! – Lucien

0

Bạn đã viết rằng:

... không thể sửa đổi như vậy bằng cách sử dụng các đối tượng UITabBarSystemItem

titleimage thuộc tính được đặt thành nil, vì vậy chúng có các giá trị này được lưu trữ trong một số thuộc tính riêng bên trong.

Ngoài ra các tài liệu nói:

-initWithTabBarSystemItem:tag:
Tiêu đề và hình ảnh thuộc tính của mặt hàng đó quay trở lại không thể thay đổi sau đó.

-3

Tôi nhận ra điều này là cũ, nhưng có lẽ điều này sẽ giúp người khác mà muốn làm được điều này. Tạo một tabBarItem từ mục hệ thống như được chỉ ra ở trên. Sau đó tạo một tabBarItem khác như thể bạn đã có biểu tượng tùy chỉnh và sao chép hình ảnh từ mục hệ thống.

 UITabBarItem* systemItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFeatured tag:0]; 
     UITabBarItem* theItem = [[UITabBarItem alloc] initWithTitle:theNameIWantToUse image:systemItem.image tag:0]; 
+3

Điều này sẽ không hoạt động. systemItem.image sẽ không ở đây. – LightningStryk

+0

Vâng, câu trả lời của tôi là không chính xác tôi phát hiện ra sau này. –

+0

systemItem.title cũng không phải là nil. –

0

Trên thực tế nó là có thể, bạn có thể sử dụng phương pháp _setInternalTitle: từ private API.

[self.tabBarItem setValue:@"Categories" forKey:@"internalTitle"]; 

Phòng ngừa: sử dụng nó chỉ cho thử nghiệm xây dựng.

2

Bạn có thể sử dụng KVC.

[self.tabBarItem.setValue("YourTitle", forKey: "internalTitle")];

Các vấn đề liên quan