zoukankan      html  css  js  c++  java
  • UILabel顶端对齐

    比较一劳永逸的写法是对label添加一个分类

    @interface UILabel (VerticalAlign)
    /** 顶端对齐 */
    -(void)alignTop;
    /** 底部对齐 */
    -(void)alignBottom;
    @end
    -(void)alignTop{
        CGSize fontSize = [self.text sizeWithAttributes:@{NSFontAttributeName:self.font}];
        double finalHeight = fontSize.height * self.numberOfLines;
        double finalWidth = self.frame.size.width;
        CGSize theStringSize = [self.text boundingRectWithSize:CGSizeMake(finalWidth, finalHeight)
                                                       options:NSStringDrawingUsesLineFragmentOrigin
                                                    attributes:@{NSFontAttributeName:self.font}
                                                       context:nil].size;
        int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height;
        for(int i=0; i<newLinesToPad; i++){
            self.text = [self.text stringByAppendingString:@"
     "];
        }
    }
    -(void)alignBottom{
        CGSize fontSize = [self.text sizeWithAttributes:@{NSFontAttributeName:self.font}];
        double finalHeight = fontSize.height * self.numberOfLines;
        double finalWidth = self.frame.size.width;
        CGSize theStringSize = [self.text boundingRectWithSize:CGSizeMake(finalWidth, finalHeight)
                                                       options:NSStringDrawingUsesLineFragmentOrigin
                                                    attributes:@{NSFontAttributeName:self.font}
                                                       context:nil].size;
        int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height;
        for(int i=0; i<newLinesToPad; i++){
            self.text = [NSString stringWithFormat:@" 
    %@",self.text];
        }
    }

    然后在使用时添加[myLabel alignTop]即可。
    添加前

    使用后

  • 相关阅读:
    SSL评测
    EF+SQLSERVER控制并发下抢红包减余额(改进)
    关于游标嵌套时@@FETCH_STATUS的值
    windows下限制Redis端口只能由本机访问
    windows下配置Redis
    Node.js 使用gm处理图像
    Git 与其他系统
    git-svn 简易 操作指南
    git-svn — 让git和svn协同工作
    Git和SVN共存的方法
  • 原文地址:https://www.cnblogs.com/Apologize/p/5908537.html
Copyright © 2011-2022 走看看