一个shell 脚本

# 文件名:blogupdate
git status
git add .
git commit -m "update"
git push
git checkout master
git merge gh-pages
git push
git checkout gh-pages

如上是脚本的全部内容,脚本的目的很简单,将当前 blog 目录下的git库同步到远程master分支并返回到当前分支(gh-pages

用法: 将shell脚本放到 博客 写作目录下,每次完成之后调用调用./blogupdate 来更新。

之所以不加入环境变量是为了防止在别的git项目中不小心调用了会引起大乱子,在当前目录下用已经很方便了。

IOS知识点

1、UIButton 的图片和文字位置设定

参考

之前也遇到过这个问题,当时想着先实现需求问题以后在结局吧,于是一拖到现在,于是在网上找到了如上的一片文章,感觉还是比较清晰的,从中总结出如下几点:

  • UIButton 有两个属性contentVerticalAlignment , contentHorizontalAlignment 这两个属性用于控制Button 中Image 和Label的默认显示方式。如下:

      typedef NS_ENUM(NSInteger, UIControlContentVerticalAlignment) {
          UIControlContentVerticalAlignmentCenter  = 0,
          UIControlContentVerticalAlignmentTop     = 1,
          UIControlContentVerticalAlignmentBottom  = 2,
          UIControlContentVerticalAlignmentFill    = 3,
      };
    	
      typedef NS_ENUM(NSInteger, UIControlContentHorizontalAlignment) {
          UIControlContentHorizontalAlignmentCenter = 0,
          UIControlContentHorizontalAlignmentLeft   = 1,
          UIControlContentHorizontalAlignmentRight  = 2,
          UIControlContentHorizontalAlignmentFill   = 3,
      };
    
  • 在Image和Label都显示的情况下,contentVerticalAlignment , contentHorizontalAlignment 属性根据Image右,Label左的原始基础结构来重置:如下原文

    2017121115130047816364.jpg

  • 使用imageEdgeInsets , titleEdgeInsets 属性控制Image 和Label的位置,因为Label的其实位置在Image的右侧,因此如果要居中的话需要减去Image的宽度:

CGFloat imageTop = (button.height-image.height-title.height)/2;
CGFloat titleTop = imageTop+image.height;

CGFloat imageLeft = (button.width-image.width)/2;
// 这里减了image.width,因为title的left是以image的left为参考
CGFloat titleLeft = (button.width-title.widht)/2-image.width;

button.imageEdgeInsets = UIEdgeInsetsMake(imageTop, imageLeft, 0, 0);
button.titleEdgeInsets = UIEdgeInsetsMake(titleTop, titleLeft, 0, 0);

如上代码中image 和 title分别指button中的ImageView 和UILabel我最后的代码:

+(void) setBtnTextBelow:(UIButton*) button with:(CGFloat) spacing{
    
    CGFloat imageTop = (button.frame.size.height-button.imageView.frame.size.height-button.titleLabel.frame.size.height -spacing)/2;
    CGFloat titleTop = imageTop + button.imageView.frame.size.height +spacing;
    
    CGFloat imageLeft = (button.frame.size.width-button.imageView.frame.size.width)/2;
    // 这里减了image.width,因为title的left是以image的left为参考
    CGFloat titleLeft = (button.frame.size.width-button.titleLabel.frame.size.width)/2-button.imageView.frame.size.width;
    
    NSLog(@"%f, %f", button.titleLabel.frame.size.height, button.titleLabel.frame.size.width);

    button.imageEdgeInsets = UIEdgeInsetsMake(imageTop, imageLeft, 0, 0);
    button.titleEdgeInsets = UIEdgeInsetsMake(titleTop, titleLeft, 0, 0);
    
    button.contentVerticalAlignment = 1;
    button.contentHorizontalAlignment = 1;

}


3 后记

我们都在黑盒Coding:调用别人的API,期待开放更多功能,自己能做的很有限。

今天刷了微信里关注的技术公众号,基本都在水文,要不就是广告,哪里有干货呀。