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.
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.
Sau đó tạo lớp tùy chỉnh và gán nó cho bạn điều khiển thanh tab
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"]];
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:

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? –
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