精华内容
下载资源
问答
  • 如何让label大小自适应字体大小

    千次阅读 2016-07-26 14:28:24
    方法1: UILabel *label = [UILabel alloc] init];...//labelsize的最大值 CGSize maximumLabelSize = CGSizeMake(100, 9999); //关键语句,根据label的内容获取指定范围内label的实际大小 CGSize expectSize = [label si
    方法1:
    </pre><pre name="code" class="objc">UILabel *label = [UILabel alloc] init];
    label.text = @"myLabel";
    //labelsize的最大值
    CGSize maximumLabelSize = CGSizeMake(100, 9999);
    //关键语句,根据label的内容获取指定范围内label的实际大小
    CGSize expectSize = [label sizeThatFits:maximumLabelSize];
    //绘制label的实际大小
    label.frame = CGRectMake(0,0,expectSize.frame.size.width,expectSize.frame.size.height);
    [self.view addSubview:label];


    方法2:(此方法是label文字自适应label大小)

    label.adjustsFontSizeToFitWidth = YES;

    方法3:

    转自http://www.jianshu.com/p/7c834398d932

    (iOS学习)UILabel自适应文字高度

    注意:此方法仅适用于IOS6及以上

    为什么要自适应高度 ?

    简单的说, 像微信的聊天框, 气泡是不知道每次输入的内容的, 如此一来, 需要Label适应文字的的高度, 以达到灵活的目的 .

    自适应文字高度的效果:

    Paste_Image.png


    接下来, 我们来实现这个过程


    实现的关键方法介绍 :

    NSString下面有一个方法, 可以通过NSString类型的文本计算出文字的范围

    - boundingRectWithSize:options:attributes:context:

    详细请点击官网

    此处有四个参数 :

    • size
      限制最大宽高, 虽然是自适应, 但是需要限制最大的宽度和高度.
    • options
      一个枚举, 绘制自定义方式字符串的选项(简而言之, 通常情况下, 选3选项就够用了, 如果效果不满意, 再试试其他的选项吧 ) : NSStringDrawingOptions

      enum { 
      NSStringDrawingTruncatesLastVisibleLine = 1 << 5, 
      NSStringDrawingUsesLineFragmentOrigin = 1 << 0, 
      NSStringDrawingUsesFontLeading = 1 << 1, 
      NSStringDrawingUsesDeviceMetrics = 1 << 3,
      };typedef NSInteger NSStringDrawingOptions;
      1. NSStringDrawingTruncatesLastVisibleLine : 如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号 . 如果三选项没有选择, 忽略此选项.
      2. NSStringDrawingUsesLineFragmentOrigin : 整个文本将以每行组成的矩形为单位计算整个文本的尺寸.
      3. NSStringDrawingUsesFontLeading : 以字体间的行距(leading,行距:从一行文字的底部到另一行文字底部的间距。)来计算高度。
      4. NSStringDrawingUsesDeviceMetrics : 计算布局时使用图像符号边界, 而不是排版的边界 .
    • attributes
      应用于字符串的文本属性.

    • context
      NSStringDrawingContext
      控制如何调整字间距和缩放。对象包含的信息将用于文本绘制。该参数可为 nil

    • 返回值
      返回一个矩形, 这个矩形为文字所占的矩形 .

    实现过程


    Paste_Image.png

    实现效果


    展开全文
  • 我想spinner的宽度和文本的最大宽度一致, EditText占据剩余的空间。有什么简单的方法可以实现? 例如, 我想要指定spinner的宽度作为大部分字体的平均宽度,作为一个属性在xml文件中声明。 xml: xmlns:...
  • 还有一种办法,设置对齐格式为【自动换行】,然后单元格中的字体自动调整大小。  我的实现思路是,设置单元格中的字体大小,最大10号字,最小5号字,判断优先使用大的字体;如果最小的5号字也放不下,那就只能...

    问题

      目的是要将Excel中的文字全部显示出来,可以设置对齐格式为【缩小字体填充】,但是这样的话只能展示出一行数据,字体会变得很小。还有一种办法,设置对齐格式为【自动换行】,然后让单元格中的字体自动调整大小。

      我的实现思路是,设置单元格中的字体大小,最大10号字,最小5号字,判断优先使用大的字体;如果最小的5号字也放不下,那就只能调整模板了。关键点就是判断当前字号能否将内容完全展示在单元格中。

      需要提前说明一点,我的这个方法是不精确的算法,excel设置字体的时候太强大了,不同的字体的字间距、行间距都会不同。

     

    关键点

      判断字体大小是否合理的思路:

      1、计算出单元格的总宽度、总高度
      2、计算出其中的内容的总长度,不同的字号,长度是不同的
      3、内容总长度除以单元格宽度,得出实际上一共有多少行数据 x
      4、单元格的总高度除以内字体的高度,得出能展示出来的数据有多少行 y
      5、如果 y>=x ,那么表示所有的数据都能展示出来

      这个判断单元格中的字体大小是否合理的思路也不难,难的是如何获取到需要的参数。

     

    注意点

      1、设置单元格字体大小的方法是:font.setFontHeightInPoints(k),但是获取字体宽度和高度的方法并不精确,因为字体间会有字间距,换行以后行之间也有间距,所以这个算法并不精确。
        这个例子中,我的获取字体高度的方法是直接取 k,获取字体宽度的方法是 k*2

      2、在上诉关键点的第5步中,本来我的想法是 y向下取整, x向上取整,然后再进行比较。但是测试后发现,设置的字体都会偏小。 直接取y>=x,结果反而更合理些。

      3、进行相除运算,单位必须相同。POI中Point(坐标点)和Pixel(像素点)的大小关系,我在之前的文章有介绍过,引用结论,获取行高的像素值的方法就是: (row.getHeightInPoints() / 72) * 96

     

    代码实例

      样例中的单元格是合并单元格,起始坐标 (3,5),结束坐标 (3,8)

    public static void main(String[] args) {
    
        try (InputStream is = new FileInputStream("E:\\test1.xls");
             Workbook book = new HSSFWorkbook(is);) {
    
            Cell cell = book.getSheetAt(0).getRow(3).getCell(5);
            String str = "一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十";
            cell.setCellValue(str);
    
            setFontSize(book, cell);
    
            File f = new File("E:\\test2.xls");
            FileOutputStream out = new FileOutputStream(f);
            book.write(out);
        } catch (IOException e) {
            //return;
        }
    }
    
    /**
     * 设置单元格字体大小
     */
    private static void setFontSize(Workbook book, Cell cell) {
        Font font = book.createFont();
        font.setFontName("EUDC");
        for (short k = 10; k >= 5; k--) {
            font.setFontHeightInPoints(k);
            if (checkCellReasonable(cell, k)) {
                break;
            }
        }
        //解决单元格样式覆盖的问题
        CellStyle cStyle = book.createCellStyle();
        cStyle.cloneStyleFrom(cell.getCellStyle());
        cStyle.setWrapText(true);
        cStyle.setFont(font);
        cell.setCellStyle(cStyle);
    }
    
    /**
     * 校验单元格中的字体大小是否合理
     */
    private static boolean checkCellReasonable(Cell cell, short fontSize) {
        int sum = cell.getStringCellValue().length();
        double cellWidth = getTotalWidth(cell);
        double fontWidth = (double) fontSize / 72 * 96 * 2;
        double cellHeight = cell.getRow().getHeightInPoints();
        double rows1 = fontWidth * sum / cellWidth;
        double rows2 = cellHeight / fontSize;
        return rows2 >= rows1;
    }
    
    /**
     * 获取单元格的总宽度(单位:像素)
     */
    private static double getTotalWidth(Cell cell) {
        int x = getColNum(cell.getSheet(), cell.getRowIndex(), cell.getColumnIndex());
        double totalWidthInPixels = 0;
        for (int i = 0; i < x; i++) {
            totalWidthInPixels += cell.getSheet().getColumnWidthInPixels(i + cell.getColumnIndex());
        }
        return totalWidthInPixels;
    }
    
    /**
     * 获取单元格的列数,如果是合并单元格,就获取总的列数
     */
    private static int getColNum(Sheet sheet, int row, int column) {
        int sheetMergeCount = sheet.getNumMergedRegions();
        //判断该单元格是否是合并区域的内容
        for (int i = 0; i < sheetMergeCount; i++) {
            CellRangeAddress ca = sheet.getMergedRegion(i);
            int firstColumn = ca.getFirstColumn();
            int lastColumn = ca.getLastColumn();
            int firstRow = ca.getFirstRow();
            int lastRow = ca.getLastRow();
    
            if (row >= firstRow && row <= lastRow && column >= firstColumn && column <= lastColumn) {
                return lastColumn - firstColumn + 1;
            }
        }
        return 1;
    }

     

      其中,获取单元格总宽度的方法getTotalWidth(Cell cell),有更简单的方法,在《我的POI代码库》里介绍

     

    原创文章,欢迎转载,转载请注明出处!

    展开全文
  • 方法: 1、在网页头部加上这样一条meta标签: 解释: width=device-width :宽度等于设备屏幕的宽度 initial-scale=1.0:表示:初始的缩放比例 minimum-scale=0.5:表示:...另外:如果想控制字体的大小的话,应该...

    方法:
    1、在网页头部加上这样一条meta标签:
    解释:
    width=device-width :宽度等于设备屏幕的宽度
    initial-scale=1.0:表示:初始的缩放比例
    minimum-scale=0.5:表示:最小的缩放比例
    maximum-scale=2.0:表示:最大的缩放比例
    user-scalable=yes:表示:用户是否可以调整缩放比例
    另外:如果想控制字体的大小的话,应该使用相对大小,可以用下面这段代码,一般不用也可,这里只是说明一种方法。
    相对大小的字体
    字体也不能使用绝对大小px,而只能使用相对大小em。
    body {font: normal 100% Helvetica, Arial, sans-serif;}
    上面的代码指定,字体大小是页面默认大小的100%,即16像素。
    h1 {font-size: 1.5em; }
    然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
    small {font-size: 0.875em;}
    small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
    2、让网页适应不同的浏览器
    浏览器的格局现在是两分天下,一分是IE,另一分是NetScape,在国内Ie有绝对的占有率,在这种情况下我们设计的网页只要兼容它就行了,但NetScape在国外还是有很多人使用,毕竟它是浏览器的元老。
    虽然没有办法做出让所有浏览器都兼容的网站,但只要注意以下几点,做出来的网页在各个浏览器都中能达到比较好的显示效果:
    a、不要混合使用层和表格排版,如果是父子关系,如层中表格,不在此原则范围内。
    b、内联式的 CSS 在 Netscape Navigator 中经常会出现问题,使用链式或内嵌式。
    c、有时需要在空层插入表格或者透明图片,以保证在 Netscape Navigator 里的效果。
    d、对于只有几个像素宽度或高度的层,改用图片来实现。
    e、避免使用 W3C 组织不推荐的排版属性,用 CSS 代替。

    展开全文
  • 1、一级标题指的是序号为“一、”的标题,也是最大的标题,是4号黑体,单独一行,也不加标点符号。2、二级标题指的是序号为“(一)”的标题,一般和正文字体大小一样,单独一行,也不加标点符号。3、...

    Q4:word排版 什么叫一级标题 二级标题 三级标题 以此下去

    标题,是标明文章、作品等内容的简短语句,一般分为总标题、副标题、分标题。而一级标题和二级标题和以此下去的标题代表的是一个序号,而且字体大小不一样。

    1、一级标题指的是序号为“一、”的标题,也是最大的标题,是4号黑体,单独一行,也不加标点符号。

    2、二级标题指的是序号为“(一)”的标题,一般和正文字体大小一样,单独一行,也不加标点符号。

    3、三级标题指的是序号为“ 1. ”的标题,一般和正文字体大小一样,字体一样。

    扩展资料

    设置分标题的主要目的是为了清晰地显示文章的层次。有的用文字,一般都把本层次的中心内容昭然其上;也有的用数码,仅标明“一、二、三”等的顺序,起承上启下的作用。需要注意的是:无论采用哪种形式,都要紧扣所属层次的内容,以及上文与下文的联系紧密性。

    对于标题的要求,概括起来有三点:

    1、要明确。要能够揭示论题范围或论点,使人看了标题便知晓文章的大体轮廓、所论述的主要内容以及作者的写作意图,而不能似是而非,藏头露尾,与读者捉迷藏。

    2、要简炼。论文的标题不宜过长,过长了容易使人产生烦琐和累赘的感觉,得不到鲜明的印象,从而影响对文章的总体评价。标题也不能过于抽象、空洞,标题中不能采用非常用的或生造的词汇,以免使读者一见标题就如堕烟海,百思不得其解,待看完全文后才知标题的哗众取宠之意。

    3、要新颖。标题和文章的内容、形式一样,应有自己的独特之处。做到既不标新立异,又不落案臼,使之引人入胜,赏心悦目,从而激起读者的阅读兴趣。

    展开全文
  • 幸好博客园在博客设置中提供了自定义的css设置,我们可以最大限度的设定博客风格。 一、寻找样式名称 (如果你仅仅希望知道如何修改,那么可以调过本节,直接进入修改一节) 进入一篇文章,在Chrome浏览器中...
  • 幸好博客园在博客设置中提供了自定义的css设置,我们可以最大限度的设定博客风格。 一、寻找样式名称 如果你仅仅希望知道如何修改,那么可以调过本节,直接进入修改一节。 要修改代码样式就必须找到原本的样式,...
  • 幸好博客园在博客设置中提供了自定义的css设置,我们可以最大限度的设定博客风格。 一、寻找样式名称 如果你仅仅希望知道如何修改,那么可以调过本节,直接进入修改一节。 要修改代码样式就必须找到原本的样式...
  • ndarray 花式 这是一种悲伤而悲哀的声音:当平面设计师开始理解他们在Web上工作时... 关于文本替换,可能有四种思路:我们快速回顾一下当前可用的选项,然后再看一下如何使用该镇上的最新播放器cufón。 本文...
  • 对于SEOer来说,在HTML代码中巧妙的运用一些标签,能搜索引擎蜘蛛能巧妙的读取,适当布局一些优化标签,也会关键排名有意想不到的结果。下面就列举几个标签的妙用。1.标题标签。在网页html代码中 标签是定义最大...
  • 【导读】一般来说,洗衣机的等级是由高到低分为滚筒洗衣机、全自动波轮洗衣机、双缸洗衣机排列的,也就是说滚筒洗衣机算是比较高档的产品,而且滚筒洗衣机最大的优势就是省水,这越来越多的家庭都...
  • 阿里面试 自我介绍 ...HR一开始最关心的就是工作年限和岗位,你直接在标题栏用最大字体写出来会比很多人介绍了半天项目最后写年限要好得多。 2.个人信息写最前面。 个人信息栏其实不用写很多东西,最
  • 阿里面试 自我介绍 ...HR一开始最关心的就是工作年限和岗位,你直接在标题栏用最大字体写出来会比很多人介绍了半天项目最后写年限要好得多。 2.个人信息写最前面。 个人信息栏其实不用写很多东西,最
  • 如何让你的游戏支持宽屏显示 比较老的游戏啊,象WarcraftIII,RedAlert2什么的,都是大家常玩的游戏.但这些游戏由于都是比较老的游戏了,出的时候宽屏显示器并不如现在普及,所以在官方的配置上,一般最大也就是1024*768的...
  • 阅读本文前,请您先点击上面的“蓝色字体”甚至尽自己最大的能力保护对方。9月末。同时也说明了。所以可以起到一定的助消化效果。5、降血糖在牙买加有研究证实。晚上吃完饭以后。很多人因为怕浪费。对于防治胃癌有...
  • 如何让MDI窗口一启动时就最大化或者最小化 如何改变窗口框架的颜色 怎样得到主框架窗口指针 如何实现全屏显示 当文档被修改时,如何在标题上加上标志“*” 怎样判断获得的视图指针是哪一个类 如何取得MDI应用程序中...
  • 已解决的是:1)遇到的最大的问题,如何让树状图规则地排列。2)如何在拖动对象时,仍然保证连接线的箭头始终指向对象的中心点。3)如何嵌入字体文件。4)数据存储,目前直接使用XML,接下来打算换到SQLite。 图1:...
  • 如何让工作表奇数行背景是红色偶数行背景是蓝色 计算特定的一组单元格中,满足条件的单元格的个数 把文本格式的数字转换成真正的数字 设置页码 Excel表格里如何插入页码的? 如何设置页脚首页为第5页 表格的页脚问题 ...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    如何让工作表奇数行背景是红色偶数行背景是蓝色 计算特定的一组单元格中,满足条件的单元格的个数 把文本格式的数字转换成真正的数字 设置页码 Excel表格里如何插入页码的? 如何设置页脚首页为第5页 表格的页脚问题 ...
  • 移动端适配问题 在设计移动端页面时,总会出现页面中某些模块不匹配的问题。...要考虑的一个问题是,屏幕缩小时,字体尺寸如何调整? html 的font-size是一个动态的值;并且与视图窗口大小有关。 这样就是实现了 所
  • 在2007年苹果准备发布首款iPhone时, 他们的工程师需要解决如何让用户在手机上浏览那些为PC大屏幕设备而设计的网页, 那时候的网页并没有响应式设计, 并且都是使用px作为字体和元素尺寸的单位. 因此用户在使用iPhone...
  • 问题44 如何让切换按钮定时弹起 481 问题45 如何在菜单栏上创建万年历 482 问题46 如何生成旋转的转盘 483 第9章 串口编程 486 9.1 知识点归纳 486 9.1.1 串口概述 486 9.1.2 串口对象的属性 488 9.1.3 串口...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0063 如何实现最大公约数 40 0064 如何实现最小公倍数 41 0065 如何实现裴波纳契数列求和 42 0066 如何实现百钱百鸡算法 42 0067 如何实现哥德巴赫猜想 43 0068 如何实现韩信点兵 44 0069 求水仙花数的...
  • 党政公文的怎么写.doc

    2021-01-15 21:03:43
     国家行政机关公文格式规定:发文机关标识用套红大字居中印在公文首页上部,一般应使用“小标宋”字体,字号最大不能即是或大于22mm15mm,上边沿至版心上边沿为25毫米(上行文发文机关标识上边沿至版心上边沿为80...
  • 易捷pdf转word转换器能快速准确的将您PDF文档中的文字及图片提取出来,转换保存成Word格式,同时很好的原有PDF中的文字/字体/大小/行间距等保持不变,图片也按照原始的排版布局还原,最大程度的还原原始文件的信息...

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

如何让字体最大