iOS - iOS开发碎碎念

模版化开发,使用不用的xib来显示对应的界面,来实现多个模版用一个软件可不可行?

UIImage图片缩放
- (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize
{
    UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, image.size.height * scaleSize));
    [image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)];
    UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return scaledImage;
}


把一个View加到Window上显示为全屏
NSEnumerator *frontToBackWindows = [UIApplication.sharedApplication.windows reverseObjectEnumerator];
        for (UIWindow *window in frontToBackWindows){
            BOOL windowOnMainScreen = window.screen == UIScreen.mainScreen;
            BOOL windowIsVisible = !window.hidden && window.alpha > 0;
            BOOL windowLevelNormal = window.windowLevel == UIWindowLevelNormal; 
            if (windowOnMainScreen && windowIsVisible && windowLevelNormal) {
                [window addSubview:self.overlayView];
                break;
            }
        }


其中UIApplication.sharedApplication.windows 获取app中所有windows
reverseObjectEnumerator 为反向出入数组

BOOL windowOnMainScreen = window.screen == UIScreen.mainScreen;
BOOL windowIsVisible = !window.hidden && window.alpha > 0;
BOOL windowLevelNormal = window.windowLevel == UIWindowLevelNormal;


if (windowOnMainScreen && windowIsVisible && windowLevelNormal)
这段是为了找到最前面的window?

GitHub 简单使用

https://github.com/ 建立一个库
并勾选 Initialize this repository with a README 选项
打开 SourceTree 添加远程仓库
选择从URL克隆
填入仓库地址并选择一个空文件夹
把文件复制到该空文件夹
于 SourceTree 中打开,先拉取 再提交推送

AudioUnit 频谱分析

UICollectionView 默认当cell数量少时不能滑动,
添加:
collectionView.alwaysBounceVertical = YES;
即可。用于 CollectionView 下拉刷新


添加一个 SakuraScrollView 于页面中,当push进一个页面再返回,SakuraScrollView的bounds被修改成-64,原因未知。
http://unremittingly.iteye.com/blog/2031626
添加一个View在 SakuraScrollView 前

    UIView *firstSubView = [[UIView alloc] initWithFrame:self.bounds];
    [self addSubview:firstSubView];

问题解决。


遇到一个奇怪的问题,无论从 Finder 进入 Time Machine 的文件夹提示没有权限,点选菜单栏中的 进入 Time Machine 则显示暂时无法连接 Time Machine。后台发现它仍然在后台进行备份操作。我尝试使用终端进入 Time Machine 的文件夹成功,随意复制一个文件出来, Time Machine 恢复正常。(终端进入带有空格文件夹名称的需要使用’\’ $cd my\ files)


绘制渐变颜色线条关键词cgcontextdrawlineargradient

在注册Cell和补充视图时,也可以用新建xib文件的方式:
[self.myCollectionView registerNib:[UINib nibWithNibName:@"MyCollectionCell" bundle:nil] forCellWithReuseIdentifier:@"hxwCell"];

[self.myCollectionView registerNib:[UINib nibWithNibName:@"MySupplementaryView" bundle:nil] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"hxwHeader"];

[self.myCollectionView registerNib:[UINib nibWithNibName:@"MySupplementaryView" bundle:nil] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"hxwFooter"];

用这种方式注册后,甚至可以不用新建类去绑定这个xib,直接通过viewWithTag的方式获取xib里的控件:

UICollectionReusableView *view =  [collectionView dequeueReusableSupplementaryViewOfKind :kind withReuseIdentifier:@"hxwHeader" forIndexPath:indexPath];
UILabel *label = (UILabel *)[view viewWithTag:1];
label.text = @"empty";


富文本

NSForegroundColorAttributeName字体颜色
NSKernAttributeName字间距

NSMutableAttributedString * myString = [[NSMutableAttributedString alloc]initWithString:dct[M_NavName]];
[myString addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0, 1)];
[myString addAttribute:NSKernAttributeName value:[NSNumber numberWithFloat:4] range:NSMakeRange(0, 1)];
cell.titleLabel.attributedText = myString;

参考:富文本以及自定字间距和行间距

设置UIButton上字体的对齐方式,不是用:

[payWayButton.titleLabel setTextAlignment:UITextAlignmentCenter];
也不是
[payWayButton.titleLabel.titleLabel setTextAlignment:UITextAlignmentCenter];
而是用:
[payWayButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
titleLabel 是 Button 上的一个控件,设置 label 的对齐方式并不能让label 置于 button 的左边。

使用 git 的分支功能实现不同风格 View 集合。

git


Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值