2014-03-30 39 views
0

我有一個分段控件與自定義圖像的細分市場。我有如下爲什麼其中一個段在分段控制上顯示爲禁用?

[repaymetSegmentedControl setBackgroundImage:[UIImage imageNamed:@"-SingleJointOffState"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
[repaymetSegmentedControl setBackgroundImage:[UIImage imageNamed:@"-SingleJointOnState"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; 


[repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"on_div"] forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
[repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"off_div"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

CGRect frameSeg= repaymetSegmentedControl.frame; 
[repaymetSegmentedControl setFrame:CGRectMake(frameSeg.origin.x, frameSeg.origin.y-5, frameSeg.size.width, frameSeg.size.height + 15)]; 

在這裏,當我跑我選擇基於偏好段中的一個應用程序創建它。它顯示如圖所示。不知道它有什麼問題。是

enter image description here

正在使用的圖像如下

enter image description here

enter image description here

enter image description here

enter image description here

+0

沒有人有答案? –

+1

問題是什麼?你能發佈你的預期結果嗎? – Jack

+0

你有多少部分? 3?第一個問題是空白嗎? – Rivera

回答

1

viewDidLoad中使用此代碼給了我認爲您正在尋找的結果(我重命名了您的圖像以使事情對我更清晰)。

[repaymetSegmentedControl setBackgroundImage:[UIImage imageNamed:@"whiteBG"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
    [repaymetSegmentedControll setBackgroundImage:[UIImage imageNamed:@"pinkBG"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault]; 
    [repaymetSegmentedControl setBackgroundImage:[UIImage imageNamed:@"pinkBG"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; 
    [repaymetSegmentedControl setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor blackColor]} forState:UIControlStateNormal ]; 
    [repaymetSegmentedControll setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateHighlighted ]; 
    [repaymetSegmentedControl setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateSelected ]; 

    [repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"pinkDivider"] forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
    [repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"pinkDivider"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; 
    [repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"pinkDivider"] forLeftSegmentState:UIControlStateHighlighted rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
    [repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"pinkDivider"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault]; 
    [repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"whiteDivider"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

使用此代碼,結果是這樣的。附圖片:

enter image description here

enter image description here

+0

如果默認啓動時選擇第二個分段,會發生什麼情況?多數民衆贊成在我感興趣的情況下,它不起作用 –

+0

好剛剛測試,它實際上是我的代碼中缺少的是測試屬性設置後,它給了我正確的輸出。謝謝 –

0

我的猜測是,所選段的文本顏色設置爲黑色和白色。所以在你的屏幕截圖中選擇了中間段。

這個問題可能是別的地方:

[repaymetSegmentedControl setBackgroundImage:[UIImage imageNamed:@"-SingleJointOffState"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
[repaymetSegmentedControl setBackgroundImage:[UIImage imageNamed:@"-SingleJointOnState"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; 

這似乎不可思議有圖像名稱以-

[repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"on_div"] forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
[repaymetSegmentedControl setDividerImage:[UIImage imageNamed:@"off_div"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

你似乎缺少右選擇/左正常選項。

此外,由於你的設計看起來很平坦,我不確定你需要這些。

最後可以將所有圖像附加到問題上嗎?

+0

附帶的圖片 –

+0

是右選/左普通等需要的圖片嗎? –

+0

這適用於有兩段的分段控制!我也嘗試設置所有三個分頻器仍然導致它相同 –

0

你的段分隔形象應該是相同的高度的背景圖片。

相關問題