美文网首页iOS开发实战笔记
iOS开发实战小知识点(二)

iOS开发实战小知识点(二)

作者: Eddiegooo | 来源:发表于2017-09-12 10:20 被阅读9次

    1.计算字符串高度问题

    计算字符串高度一般使用两个方法:
    1、CGFloat height = [someStr boundingRectWithSize:CGSizeMake(width, MAX_FLOAT) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin attributes:@{ NSFontAttributeName : self.label.font } context:nil].size.height + 5;
    这里有两个地方要注意下:1、options参数:一般只需写上面两个就好了,我多加个NSStringDrawingUsesDeviceMetrics参数,在iOS8系统上就异常了。这个参数官方解释:“// Uses image glyph bounds instead of typographic bounds”; 2、计算出来的高度,是文本实际高度,在要加上一个offset值好些。
    2、第二个计算方法:
    CGSize size = [self.label sizeThatFits:CGSizeMake(width, MAX_FLOAT)]; CGFloat height = size.height;
    这个方法计算出来的高度直接可以使用。 很少用这个方法,同事说这个方法好点。官方给出的解释:“ // return 'best' size to fit given size. does not actually resize view. Default is return existing view size。”

    2.单例的使用

    全局使用某一个变量,随时修改随时访问拿到最新的值,使用单例的一个属性即可。用的NSUserDefault,也是可以的。

    3.提交市场安装包问题

    为了更好测试线上包无BUG,测试让把发布的包给他们安装一下。出现问题了:一直安装失败。想了好久才记起,release包不可以直接安装到手机上。具体见下图:

    release导出.png
    注意:1、提交市场要选第一行导出IPA包,然后可以使用Application Loader上次到市场;也是直接验证通过上传到市场(先Validate通过后,在Upload to App Store)。 先验证在上传.png

    2、要想把release发布的包在安装测试下,要选第二行Ad Hoc 那个,用第一个导出的包是安装不成功的。
    3、第三行是企业证书导出包,供内部测试使用,是不可以上传到App Store的。
    4、第四行是Debug模式开发环境下导出安装包进行测试用的。

    相关文章

      网友评论

      • 天空中的球:第二个方法有具体使用的情况,否则很容易算出空来的
        Eddiegooo:哦哦 我一般都用第一种,第二种很少用:joy:

      本文标题:iOS开发实战小知识点(二)

      本文链接:https://www.haomeiwen.com/subject/lwzqsxtx.html