簡體   English   中英

自定義標簽欄iOS-3個按鈕

[英]Custom Tab Bar iOS - 3 Buttons

我想創建一個只有3個按鈕的自定義標簽欄設計。 嘗試將圖像拆分為適合iPhone屏幕時出現問題。 寬度為320時,您需要將2個標簽頁的寬度設為106,將第三個標簽頁的寬度設為108。當我以正確的尺寸創建圖像時,它們不適合顯示,最后我在右側向下畫了1px的線這個:

在此處輸入圖片說明

這是我正在使用的代碼:

UIImage *selectedImage0 = [UIImage imageNamed:@"tb_1_down.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"tb_1_up.png"];

UIImage *selectedImage1 = [UIImage imageNamed:@"tb_2_down.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"tb_2_up.png"];

UIImage *selectedImage2 = [UIImage imageNamed:@"tb_3_down.png"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"tb_3_up.png"];

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];

self.tabBarController.tabBar.frame = CGRectMake(0, 430, 320, 50);

[self.tabBarController.tabBar setBackgroundImage:[UIImage imageNamed:@"tb_tabBar_BG.png"]];

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];

有什么方法可以使'item1'的寬度變為108而不是106?

這可能會給您您想要的東西: 設置選項卡的背景圖像

這具有制作完全自定義標簽欄按鈕的過程。

我擔心您可能正在研究UITabBar / UITabBarController的100%自定義實現-我不知道有什么方法可以在這種程度上自定義股票。

我設法通過子類化UITabBarController並使用UIImageViews而不是@human建議的UIButtons來解決此問題,因為我無法擺脫更改按鈕圖像的不合理方法,無論您是否設置圖像,該方法都會閃爍並突出顯示或不。

我的代碼可以在這里的答案中找到: UITabBar定制未按預期工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM