簡體   English   中英

以編程方式設置的UILabel具有模糊的文本(整數框架值)

[英]Programmatically set UILabel has blurry text (integer frame values)

我有一個視圖,可以在viewDidLoad編程方式設置UILabel。 該標簽上的文字模糊。 編碼:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor groupTableViewBackgroundColor];

    [self setTitle:tAddSystemScreenTitle];
    CGRect rect = CGRectMake(10,0,300,80);
    UILabel *messageLabel = [[UILabel alloc] initWithFrame:rect];

    [messageLabel setOpaque:NO];
    if (shouldShowControlForRemoteAccess) {
        [messageLabel setText:kRemoteAccessInfoMessage];
        [messageLabel setNumberOfLines:2];
    } else {
        [messageLabel setText:kOneSystemAlreadyAssociatedAlertString];
        [messageLabel setNumberOfLines:4];

        rect.size.height += 30;
        [messageLabel setFrame:rect];

        rect = dataTable.frame;
        rect.origin.y += 30;
        rect.size.height -= 30;
        [dataTable setFrame:rect];
    }
    NSLog(@"x: %f, y: %f, w: %f, h: %f", messageLabel.frame.origin.x, messageLabel.frame.origin.y, messageLabel.frame.size.width, messageLabel.frame.size.height);
    [messageLabel setBackgroundColor:[UIColor clearColor]];
    [messageLabel setShadowColor:[UIColor blackColor]];
    [messageLabel setTextColor:[UIColor blackColor]];
    [messageLabel setTextAlignment:UITextAlignmentLeft];
    [messageLabel setShadowOffset:CGSizeMake(0,-1)];
    [self.view addSubview:messageLabel];

    NSLog(@"x: %f, y: %f, w: %f, h: %f", self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);

    [dataTable setScrollEnabled:NO];

    [messageLabel release], messageLabel = nil;
}

當我檢查幀值是多少時,得到以下信息:

x: 10.000000, y: 0.000000, w: 300.000000, h: 80.000000

檢查self.view相同:

x: 0.000000, y: 20.000000, w: 320.000000, h: 460.000000

在此問題上,我能找到的唯一 其他 問題是,我需要為框架使用整數,但是如您所見,我已經有了整數。 我嘗試了他們推薦的解決方案,使用CGRectIntegral(rect)替換了我剛剛使用rect所有位置,但這沒有用。 如何防止文字模糊?

我有同樣的問題。 就我而言,原因是我在父視圖上調用了setShouldRasterize。

也許事實是您的黑色文本帶有稍微偏斜的黑色陰影,這使它看起來很模糊。 嘗試刪除您的shadowColor和shadowOffset線,看看它的外觀。

暫無
暫無

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

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