2013-02-20 27 views
0

我試圖找到一種以編程方式檢索標籤的當前字體大小的方法。事情是這樣的:iOS - 嘗試檢索標籤的當前字體大小設置爲

int sizeFont = myLabel.font.labelFontSize; 

我知道如何檢索點大小:

int sizePoint = myLabel.font.pointSize; 

尋找的字體大小。謝謝你的幫助!

這裏就是標籤初始化的從-(void)viewDidLoad叫了很多的其他代碼被剝離出去的可讀性

-(void)initializeUIElements 
{ 
    // create a new UIView 
    UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,480)]; 

    // initializing close scroll label 
    close_scroll = [[UILabel alloc] initWithFrame:CGRectMake(258, 155, 70, 30)]; 
    close_scroll.text = @"Close Scroll"; 
    close_scroll.textColor = [UIColor colorWithRed:(255/255.0) green:(240/255.0) blue:(5/255.0) alpha:1]; 
    close_scroll.font = [UIFont fontWithName:user.display_font size:10]; 
    close_scroll.transform = CGAffineTransformMakeRotation(3.14159265358979323846264338327950288 * 1.5); 
    [newView addSubview:close_scroll]; 

    // add the new view as a subview to the superview 
    [self.view addSubview:newView]; 
} 

** 這就是所謂的以更新標籤的字體。這個想法是,用戶可以從配置文件配置屏幕中選擇不同的字體類型。字體選擇正常,只是大小變得棘手。

-(void)viewWillAppear:(BOOL)animated 
{ 
    CGFloat test2 = close_scroll.font.pointSize; 

    // updating fonts displayed in case of a profile change 
    close_scroll.font = [UIFont fontWithName:user.display_font size:test2]; 
} 
+0

磅值是**的字體大小? – trojanfoe 2013-02-20 11:31:41

+1

'pointSize' **是**字體大小。 – 2013-02-20 11:31:42

+0

當我做一個'int test1 = myLabel.font.pointSize;'在標籤上我知道已經設置爲字體大小10我得到一個值24 ....我做錯了什麼? – Grymjack 2013-02-20 11:33:54

回答

3

好的,我想通了。感謝所有幫助過我的人。顯然,我進入例程的自定義字體名稱很糟糕。所以顯示默認爲一些系統默認大小而不會引發任何錯誤。下面一行將用於檢索標籤的當前字體大小。

// if you want to retrieve the font size as a separate value, this will work 
int sizeLabelFont = labelOpenScroll.font.pointSize; 

// this is actually how I am using the line 
labelOpenScroll.font = [UIFont fontWithName:user.display_font size:labelOpenScroll.font.pointSize];