UILable 使用全面解析 – iPhone手機開發技術文章 iPhone軟體開發教學課程

  //創建uilabel
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(20, 40, 280, 80)];
 
    //設置背景色
    label.backgroundColor = [UIColor grayColor];
 
    //設置tag
    label.tag = 91;
 
    //設置內容
    label.text = @"Hello World";
 
    //設置內容字體和字體大小
    label.font = [UIFont fontWithName:@"Arial" size:30];
 
    //文本自適應大小 隻會變小 當numberOfLines為1時才有效
    label.adjustsFontSizeToFitWidth = YES;
 
    //文本自適應縮小的最小字體大小 默認為 0.0 上面要YES
    label.minimumFontSize = 12;
 
    //文本顏色
    label.textColor = [UIColor blueColor];
 
    //文本最多行數,為0時沒有最大行數限制
    label.numberOfLines = 2;
 
    //文本高亮
    label.highlighted = YES;
 
    //文本是否可變
    label.enabled = YES;
 
    //設置label的背景色透明
    label.backgroundColor = [UIColor clearColor];
 
    //文本陰影顏色
    label.shadowColor = [UIColor grayColor];
 
    //陰影偏向 第一個橫向 >0 向右 < 0向左 第二個縱向  >0 向下 < 0向上
    label.shadowOffset = CGSizeMake(1.0, 1.0);
 
    //是否與用戶交互
    label.userInteractionEnabled = YES;
 
    //文本超出label邊界文本的截取方式
    label.lineBreakMode = UILineBreakModeTailTruncation;
 
    /*
     typedef enum {
 
         UILineBreakModeWordWrap = 0,    以空格為邊界,保留整個單詞  默認方式     
         UILineBreakModeCharacterWrap,   保留整個字符
         UILineBreakModeClip,            到邊界為止
         UILineBreakModeHeadTruncation,  省略開始,以….代替
         UILineBreakModeTailTruncation,  省略結尾,以….代替
         UILineBreakModeMiddleTruncation,省略中間,以….代替        
 
     } UILineBreakMode;
     */
 
    //baselineAdjustment這個值控制文本的基線位置,隻有label.adjustsFontSizeToFitWidth = YES;時有效 自適應大小要有效 label.numberOfLines為1
    label.baselineAdjustment = UIBaselineAdjustmentNone;
 
    /*
     typedef enum {
 
         UIBaselineAdjustmentAlignBaselines = 0, 默認設置文本最上端與label中線對齊
         UIBaselineAdjustmentAlignCenters,  文本中線與label中線對齊
         UIBaselineAdjustmentNone,          文本最低端label中線對齊
 
     } UIBaselineAdjustment;
     */
 
    //設置文本對齊方式 中間對齊
    label.textAlignment = UITextAlignmentCenter;
 
    /*
    typedef enum {
 
         UITextAlignmentLeft = 0, 左對齊  默認方式
         UITextAlignmentCenter,   中間對其
         UITextAlignmentRight,    右對齊
 
     } UITextAlignment;
     */
 
 
    //把label加到當前窗口上
    [self.window addSubview:label];
 
    //釋放掉label
    [label release];
 
    UILabel自適應高度和自動換行
 
    //初始化label 
    UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; 
 
     //設置自動行數與字符換行 
    [label setNumberOfLines:0]; 
    label.lineBreakMode = UILineBreakModeWordWrap;  
 
     // 測試字串 
    NSString *s = @"這是一個測試!!!adsfsaf這是一個測試忘這是一個測試我阿阿這是一個測試阿這是一個測試阿啊00000000阿這是一個測試頓。。。這是一個測試"; 
    UIFont *font = [UIFont fontWithName:@"Arial" size:12]; 
 
    //設置一個行高上限 
    CGSize size = CGSizeMake(320,2000); 
 
     //計算實際frame大小,並將label的frame變成實際大小 
    CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap]; 
    label1.frame = CGRectMake(0, 0, labelsize.width, labelsize.height);

發佈留言