美文网首页
实践随记

实践随记

作者: 青余 | 来源:发表于2016-06-12 20:08 被阅读0次

    项目实践

    应用图标

    可以通过将一张图片的名称改为icon.png,并将图片拖拽到项目中,XCode会自动识别并设置为应用图标。但现在我们更推荐去设置项目中Assets.xcassets文件Appicon中各系统版本需要的图标来设置应用图标。

    启动界面

    在XCode项目文件中包含LaunchScreen.storyboard文件出现之前,我们只需要将图片的名字改为Default.png的格式XCode就会自动将其设为启动界面的图片;但当LaunchScreen.storyboard文件出现后,我们可以将OC中视图相关的界面设为启动界面,可以使启动界面更多样化和美观。

    应用语言匹配

    可以在项目文件下的info.plist中修改Localization native development region的值,来指定应用使用的语言,但这种方式只能使用一种语言;我们需要根据不同的系统环境来适配语言,可以在项目文件PROJECT->应用名->info->Localizations下添加应用需要匹配的语言,设置了这个info.plist文件中的设置将会被覆盖。

    设置应用程序名称

    程序运行在模拟器或者真机上,显示的应用程序默认和工程名一样。如果想要设置成其他的名字,可以通过info.plist文件来设置:
    info.plist文件中添加一个key:Bundle display name,value 填上应用名称

    使用自制字体

    首先将字体文件包含进工程,然后在info.plist->Fonts provided by application下添加字体文件名(包含后缀)。

    // 设置字体
    [UIFont fontWithName:字体名 size:字体大小];
    // 查看字体名
    [UIFont familyNames];
    

    保存图片

    UIImageWriteToSavedPhotosAlbum(<#UIImage * _Nonnull image#>, <#id  _Nullable completionTarget#>, <#SEL  _Nullable completionSelector#>, <#void * _Nullable contextInfo#>)
    

    状态栏相关

    1.隐藏和显示状态栏
    (1)只隐藏指定界面的状态栏:

    //在指定界面的视图控制器中,重写- (BOOL)prefersStatusBarHidden方法,返回YES:  
    - (BOOL)prefersStatusBarHidden{
    
    return YES;
    }         
    

    2.在满足条件的时候隐藏和显示:

    第一步:在info.plist文件添加 "View controller-based status bar appearance" ,并且设置为 "NO"  
    第二步:在代码中合适的位置:
    [UIApplication sharedApplication].statusBarHidden = YES;  //隐藏  
    [UIApplication sharedApplication].statusBarHidden = NO;   //显示  
    

    3.改变样式

    1.在info.plist文件中添加: "Status bar style" ,其对应的值为UIStatusBarStyleLightContent/UIStatusBarStyleDefault。前面是白色,后面是黑色
    

    图文混排

    // 封装图文混排方法
    - (NSAttributedString *)mixImage:(UIImage *)image andText:(NSString *)text
    {
        // 用富文本实现图文混排
        // 将图片转换为文本附件对象
        NSTextAttachment * commentAttachment = [[NSTextAttachment alloc] init];
        commentAttachment.image = image;
        // 将文本附件对象转换为富文本
        NSAttributedString * commentAttachAttr = [NSAttributedString attributedStringWithAttachment:commentAttachment];
        // 将文字转换为富文本
        NSAttributedString * commentCountAttr = [[NSAttributedString alloc] initWithString:text  attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:10]}];
        
        // 拼接所有富文本
        NSMutableAttributedString * commentAttr = [[NSMutableAttributedString alloc] init];
        [commentAttr appendAttributedString:commentAttachAttr];
        [commentAttr appendAttributedString:commentCountAttr];
        return [commentAttr copy];
    }
    

    删除线

    NSAttributedString * attrStr =
    [[NSAttributedString alloc] initWithString:price
                                  attributes:
    @{NSFontAttributeName:[UIFont systemFontOfSize:14],
    NSForegroundColorAttributeName:[UIColor redColor],
    NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle|NSUnderlinePatternSolid),
    NSStrikethroughColorAttributeName:[UIColor blueColor]}];
    

    URL Schemes(程序跳转)

    1. URL Schemes的设置
      要实现应用之间的跳转首先需要设置应用的URL Schemes,在target->info->URL Types下添加一个Types,并设置其中的URL Schemes,因为Apple对于URL Schemes没有硬性规定,所以一般推荐URL Schemes的值与Bundle Id绑定。
    2. URL Schemes的使用
      在应用需要进行APP跳转的位置先将URL Schemes与需要传递的参数拼接成URL格式:

    schemes://参数
    注意拼接后URL不能含有汉字或则空格

    然后让Application通过URL打开对应的应用:

    // 打开程序
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:jumpPath]];
    
    1. URL Schemes的接收
      在工程的AppDelegate.m中实现系统自带的方法:
    // 如果当前程序被其他程序打开,就会调用
    // URL就是上一APP传来的参数
    // options上一APP的相关信息
    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
        
        NSLog(@"%@", url);
        NSLog(@"%@", options);
        _vc.strLabel.text = url.absoluteString;
        
        return YES;
    }
    

    参考资料:URL Schemes的使用详解

    相关文章

      网友评论

          本文标题:实践随记

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