我有一個textfield和textfield文本的首字母始終是美元符號。現在,我需要更改美元符號的顏色,以便美元符號和其餘文本應該是以不同的顏色。我怎樣才能做到這一點??任何想法如何更改文本字段文本的第一個字母的顏色
2
A
回答
3
不能做到標準。在UITextField中只允許一種樣式。
最好的主意:擺脫UITextField中的$,用空白替換它,然後在上面放置一個UILabel。
第二個好主意:子類UITextField。
編輯:
UITextField
有一個drawTextInRect:
方法,它可能是所有你需要重寫。 已記錄here。如果您需要更多幫助,請嘗試使用Google或如何繼承不同的UI類,以便搜索,並獲得如何重寫繪畫方法的感覺(如drawRect:
爲UIView
)
0
這裏是我的LinethruLabel的@implementation的一個子類的UILabel。它表示一個
「劃傷」
項目與紅色的內襯通過文本。在我的情況下,我打電話[super drawRect:rect];
和UILabel繪製文字和背景等,但我不知道是否你想要,所以如果它不按你想要的方式工作,就把它拿出來。所以我想你需要使用NSString UIKit類別的drawAtPoint:withFont:
方法的一些變體。
@implementation LineThruUILabel
- (void)dealloc {
[super dealloc];
}
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
// Initialization code
drawLine = NO;
}
return self;
}
- (void) setDrawLine:(BOOL) newValue
{
if(drawLine != newValue){
drawLine = newValue;
[self setNeedsDisplay];
}
}
- (CGSize) calculateLineWidth
{
NSString *newText = self.text;
CGFloat actualFontSize;
CGFloat width = self.frame.size.width;
CGSize size = [newText sizeWithFont: self.font minFontSize:self.minimumFontSize
actualFontSize:&actualFontSize
forWidth:width
lineBreakMode:self.lineBreakMode ];
return size;
}
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
CGFloat horizOffset = 0.0;
if(drawLine){
CGSize lineSize = [self calculateLineWidth];
CGFloat offset = 1.0;
// Drawing code
CGContextRef ctx = UIGraphicsGetCurrentContext();
//CGFloat w = rect.size.width;
CGFloat h = rect.size.height;
// just match the color and size of the horizontal line
CGContextSetRGBStrokeColor(ctx, 1.0, 0.0, 0.0, 1.0);
CGContextSetLineWidth(ctx, 2.0);
CGContextMoveToPoint(ctx, horizOffset , h/2 + offset);
CGContextAddLineToPoint(ctx, lineSize.width + horizOffset + 1.0, h/2 + offset);
CGContextStrokePath(ctx);
}
}
相關問題
- 1. 如何更改InfoPath文本字段的文本顏色?
- 2. 更改Javafx文本字段中文本的顏色WHILE打字
- 3. 更改字母第一個字母的字體顏色
- 4. iphone ipad更改文本字段顏色
- 5. 如何更改文本字段內的字體顏色javafx
- 6. JButton更改文本字段的文本顏色
- 7. 更改文本字段的文本顏色
- 8. 動態更改文本字段的文本顏色
- 9. 離子 - 如何更改文本字段的背景顏色?
- 10. 如何更改水晶報表中字段的文本顏色
- 11. 如何更改爲rdlc文本字段的顏色?
- 12. 如何更改pdfclown中文本字段的顏色?
- 13. 如何更改UI上的文本字段顏色
- 14. 在Swing文本字段中延遲文本顏色更改
- 15. 更改JLabel的顏色字符文本?
- 16. 如何更改第一個選擇選項的文本顏色
- 17. 如何更改只有第一個元素的文本顏色?
- 18. 如何使用CSS更改文本字段中初始文本的顏色?
- 19. 通過JCheckBox更改文本字段輸入的字體顏色
- 20. 如何更改網頁上某個特定字母的顏色(包裝文本)?
- 21. 懸停時更改一個字母的字體顏色字母
- 22. 如何更改文本塊中每個字符的顏色
- 23. 記事本++更改文字顏色?
- 24. 如何更改在富文本框中第一個索引處顯示的字母的顏色?
- 25. 如何更改特殊字符的字體顏色在一個UITextView文本
- 26. 如何更改sectionIndexTitlesForTableView的字母顏色?
- 27. 如何更改sectionIndexTitlesForTableView的字母顏色?
- 28. C#更改文本框中一個字符的顏色
- 29. jbutton更改文本字段的文本
- 30. 如何改變第一個文本的顏色UITextView的
好點肯尼!雖然,我會選擇繼承:) – prakash 2009-11-18 10:18:16
我subclassed UITextField。在我的drawTextInRect方法中,我添加了一個字符串在文本字段中繪製。但不調用drawTextInRect。 – diana 2009-11-18 10:45:44