2012-10-07 34 views
5

Tôi đang cố tạo một UITabBar mà tôi sẽ tùy chỉnh bằng cách sử dụng API xuất hiện. Tôi đang cố gắng loại bỏ nhãn tiêu đề khỏi UITabBarItem và thay đổi kích thước hình ảnh để làm cho nó được căn giữa. Nếu bạn chỉ xóa văn bản tiêu đề, sẽ có khoảng trống bên dưới hình ảnh và phần dưới cùng của thanh.Tùy chỉnh UITabBarItem không có nhãn tiêu đề

Có ai biết cách tạo UITabBarItem không có tiêu đề không?

+0

Bạn có chắc chắn rằng khi gọi 'initWithTitle: hình ảnh: tag: 'và đi qua con số không cho danh hiệu, và một con trỏ hợp lệ để một hình ảnh, bạn vẫn mất điểm ảnh thành tiêu đề trống? –

+1

Có, nó sẽ hiển thị một vài pixel trống ở phía dưới và dịch chuyển hình ảnh lên. Ví dụ: khi tạo chiều cao thanh chỉ lớn hơn một chút so với hình ảnh mục, hình ảnh sẽ bị cắt ở đầu và sẽ có không gian trống bên dưới – mrosales

Trả lời

7

thực hiện cùng một tác vụ ngay hôm nay.

Vì tôi không thể sử dụng không gian đầy đủ của thanh tab cho hình ảnh mục nên tôi chỉ thay đổi nền thanh tab khi người dùng nhấn bất kỳ tab nào.

  1. Vì vậy, bước đầu tiên là chuẩn bị hình nền với các nút kích thước đầy đủ cho mỗi tab được chọn.

  2. Sau đó tạo lớp tùy chỉnh và gán nó cho bạn điều khiển thanh tab

  3. Trong hình nền thiết lập lớp tùy chỉnh của bạn cho tab đầu tiên trong viewDidLoad:

    [[self tabBar] setBackgroundImage:[UIImage imageNamed:@"tabShopsActive"]]; 
    [[self tabBar] setSelectionIndicatorImage:[UIImage imageNamed:@"tabSelection"]]; 
    
  4. Thêm sự thay đổi nền cho mỗi UIController trong ViewWillAppear:

    UITabBarController *bar = [self tabBarController]; 
    [bar.tabBar setBackgroundImage:[UIImage imageNamed:@"tabDiscountsActive"]]; 
    

Vì vậy, bây giờ khi người dùng nhấn bất kỳ tab Tab Bar thay đổi hình nền để hiển thị hình ảnh chính xác cho nó.

Đó là kết quả thanh tab của tôi khi tab thứ hai lựa chọn:

Tab bar without labels

0

Giải pháp của tôi cho cùng một vấn đề:

1, làm cho thanh gốc y thấp hơn, đẩy không gian trống bên ngoài màn.

2, đặt lại nền để đảm bảo nó chỉ che phủ đúng vị trí.

6

Đặt tiêu đề để nil và di chuyển các biểu tượng

self.tabBarItem = [[UITabBarItem alloc] initWithTitle:nil 
               image:[[UIImage imageNamed:@"icon_tabbar_inactive.png"] 
                imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] 
             selectedImage:[[UIImage imageNamed:@"icon_tabbar_active.png"] 
                imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]]; 

// Move the tabbar icon to the middle of tabbar 
self.tabBarItem.imageInsets = UIEdgeInsetsMake(6.0, 0.0, -6.0, 0.0);