段只能有圖像或標題;它不能兼得。沒有默認圖像。UISegmentedController中的圖標和文本
所以說蘋果在UISegmentedController Reference。
有沒有人想出了一個通用的解決方案,讓你有一個圖標和文字?我有一個分段控件,有四個段。有自定義控件外觀的選項,但它們似乎只針對具有兩個段的UISegmentedControl而設計?
想法我踢周圍:
- 溝分段控制四個UIButtons和處理「選中」狀態自己
- 扔我的手只是文字或圖標去。
- 您的建議...?
段只能有圖像或標題;它不能兼得。沒有默認圖像。UISegmentedController中的圖標和文本
所以說蘋果在UISegmentedController Reference。
有沒有人想出了一個通用的解決方案,讓你有一個圖標和文字?我有一個分段控件,有四個段。有自定義控件外觀的選項,但它們似乎只針對具有兩個段的UISegmentedControl而設計?
想法我踢周圍:
您可能想嘗試使用第三方替代方案,例如STSegmentedControl(沒關係,但我已經使用了它,聽起來像它會給你靈活性,而無需從頭開始)。
謝謝。事實證明,我需要在這方面做更多的工作,以使其功能完全符合我的需求。但是,就像你說的,我不必從頭開始。 – Benmj
您可以通過繪製你的當前圖像爲背景創建一個新的形象,畫出你想要的文字,然後使用該組合圖像作爲單段圖片:
UIGraphicsBeginImageContextWithOptions(size, YES, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
// Text first
[myString drawAtPoint:somePoint withFont:font];
// Images upside down so flip them
CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, size.height);
CGContextConcatCTM(context, flipVertical);
CGContextDrawImage(context, (CGRect){ imagePoint, imageSize }, [myUIimage CGImage]);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
感謝此片段。我已經把它變成了[UIImage類別](https://gist.github.com/3801542),我發現它非常有用:[https://gist.github.com/3801542](https: /gist.github.com/3801542)。它可以像這樣使用:'UIImage * image = [UIImage imageFromImage:uiImage] string:@「string」color:[UIColor whiteColor]];' – bejonbee
@somethingkindawierd(a)感謝您分享您的類別。 (b)我們不能在uiImage之後放棄右括號']'嗎?像這樣:[UIImage imageFromImage:uiImage string:@「string」color:[UIColor whiteColor]]; –
@BasilBourque,試試吧。在這個時候,我不知道爲什麼我這樣做... –
您可以構建一個具有標題的圖像文本使用Photoshop或其他繪圖軟件。 – rdelmar
也許,UIButtons的方式是最好的。你必須處理按鈕,但這並不困難。你只需要一個'for'語句(在你的UIButton的數組上)並使用UIButton的'isSelected'屬性。 – MaTTP