0
我是新來的子類,但我想要一個UILabel子類給標籤中的任何文本具有3像素大綱。從this page,我用這個方法:iOS - 在子類上訪問新屬性
- (void)drawTextInRect:(CGRect)rect
{
CGSize shadowOffset = self.shadowOffset;
UIColor *textColor = self.textColor;
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(c, 3);
CGContextSetLineJoin(c, kCGLineJoinRound);
CGContextSetTextDrawingMode(c, kCGTextStroke);
self.textColor = [UIColor whiteColor];
[super drawTextInRect:rect];
CGContextSetTextDrawingMode(c, kCGTextFill);
self.textColor = textColor;
self.shadowOffset = CGSizeMake(0, 0);
[super drawTextInRect:rect]; self.shadowOffset = shadowOffset;
}
這個偉大的工程,我可以改變顏色,以顯示我想文本和輪廓都任何顏色。
有人可以讓我知道如何創建一個名爲「outlineColor」的屬性,這將允許我將此子類設置爲我想要的任何標籤並更改輪廓的顏色?
從本質上講,我希望能夠設置標籤的類「CustomLabelClass」,然後一些其他類中我喜歡會說類似:
[myLabel setOutlineColor:[UIColor whiteColor]];
我不知道怎麼樣去做這件事。謝謝。
謝謝!我以爲我嘗試了類似的東西,但在其他類中,每當我鍵入「[myLabel」時,「setOutlineColor」選項都不會彈出。但是,我確實在Interface Builder中設置了該類,而不是通過代碼對其進行初始化。這可能是一個問題,你覺得呢? – achiral 2012-02-08 02:19:55
這是可能的。我沒有嘗試過通過IB使用它,但假設對象的類被設置爲您的自定義類在身份檢查器中,我會認爲它應該工作。 – jonkroll 2012-02-08 02:34:36