IOS開發中使用UIFont設定字型及大量建立控制項_IOS

來源:互聯網
上載者:User

在IOS 中,使用[UIFont familyNames]這個方法擷取72種系統字型。

使用[UIFont fontWithName:@"Zapfino" size:18]這個方法為空白間中的文字設定字型和字型大小。

可以通過for迴圈批量定義控制項並設定屬性。

以下程式擷取系統72種字型並儲存在一個數組中,有兩種方法,一種是通過for迴圈拿到每一種字型並添加到可變數組中,另一種是直接把72種字型賦值給一個數組。

註:在頁面控制項較少的情況下選擇手動建立每個控制項,在控制項數量較大且有規律排布的時候使用迴圈大量建立控制項。可以通過擷取硬體裝置的解析度進而讓控制項的尺寸自動適配裝置。具體方式為:

//螢幕尺寸CGRect rect = [[UIScreen mainScreen] bounds];  CGSize size = rect.size;  CGFloat width = size.width;  CGFloat height = size.height;  NSLog(@"print %f,%f",width,height);//解析度CGFloat scale_screen = [UIScreen mainScreen].scale;width*scale_screen,height*scale_screen

程式內容:

#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {  [super viewDidLoad];    //  定義一個可變數組,用來存放所有字型  NSMutableArray *fontarray = [NSMutableArray arrayWithCapacity:10];//  遍曆UI字型  for (id x in [UIFont familyNames]) {    NSLog(@"%@",x);    [fontarray addObject:x];  }    //  直接把字型儲存到數組中  NSArray *fontarrauy2 = [UIFont familyNames];  NSLog(@"%@",fontarrauy2);    //  建立一個label,用來顯示設定某種字型的字串  UILabel *mylab1 = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 200, 50)];  mylab1.font = [UIFont systemFontOfSize:20];  mylab1.font = [UIFont fontWithName:@"Zapfino" size:18];  mylab1.font = [UIFont fontWithName:[fontarray objectAtIndex:10] size:18];  mylab1.text = @"HelloWorld";  [self.view addSubview:mylab1];  //  建立一個可變數組,用來存放使用for迴圈大量建立的label  NSMutableArray *labarr = [NSMutableArray arrayWithCapacity:100];    for (int x=0; x<24; x++) {    for (int y=0; y<3; y++) {//      迴圈建立72個label,每個label橫向間距135-130=5,縱向間距30-28=2,      UILabel *lab = [[UILabel alloc]initWithFrame:CGRectMake(y*135+7, x*30+20, 130, 28)];      lab.backgroundColor = [UIColor colorWithRed:0.820 green:0.971 blue:1.000 alpha:1.000];      lab.text = @"HelloWorld";//      將建立好的label加入到可變數組      [labarr addObject:lab];    }  }  //  使用for迴圈給72個label的字型設定各種字型格式  for (int i=0; i<72; i++) {    UILabel *lab = [labarr objectAtIndex:i];    NSString *fontstring = [fontarray objectAtIndex:i];    lab.font = [UIFont fontWithName:fontstring size:18];    [self.view addSubview:[labarr objectAtIndex:i]];  }  }- (void)didReceiveMemoryWarning {  [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.}@end

以上就是本文的全部內容,希望對大家的學習有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.