开发中各种各样的小tip(持续更新)

一.textFiled 字数限制。

一般用textFileld限制字数的时候 首先想到的是代理方法。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (toBeString.length > 10 && range.length != 1  ) {
        textField.text = [toBeString substringToIndex:INPUTMAXLENTH];
         NSLog(@"最多输入10个字");
        return NO;
    }
return YES;
}

一般是用这个方法去限制。但是这样的话 只能限制住你打字。但是不能限制你智能提醒。
所以我给textField添加了一个方法 只要字符有改变就 调用方法去判断

  [_orderTimeText addTarget:self action:@selector(textFieldEditChange:) forControlEvents:UIControlEventValueChanged];

- (void)textFieldEditChange:(UITextView *)TextView{
    
    NSString * toBeString = TextView.text;
    if (toBeString.length > 10 ) {
        [[SFTipView sharedInstance] showMessage:@"最多输入50个字"];
     NSLog(@"最多输入10个字");     
    }else{
        TextView.text = toBeString;
        
    }
}

二。这两天有个需求。UI给的按钮图比较小。 但是产品要求按钮范围变大。

话不多说 直接上干货

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    CGRect bounds = self.bounds;
    //若原点击区域小于44x44,则放大热区,否则保持原大小不变
    CGFloat widthDelta = MAX(44 - bounds.size.width, 0);
    CGFloat heightDelta = MAX(44 - bounds.size.height, 0);
    bounds = CGRectInset(bounds, -0.5 * widthDelta, -0.5 * heightDelta);
    return CGRectContainsPoint(bounds, point);
}

这样就把点击范围扩大为44了。如果你想放的更大 可以改变这个值。

三。最近写了个小项目。一直用约束去做控件。 然后写到自己的项目 用frame去设置发现一直没有显示。但是打断点发现 控件都有地址。没有显示。最后总结出了一个观点

  • 约束必须要先把控件添加到contentView里 然后再设置约束
  • 设置frame呢 必须先设置frame 再把控件加入contentView里 不然不显示。

四。最近涉及了一个项目需要 需要更改极光推送的bundle iD。刚开始查了SDK 还有网页上 都没有说明 不可以更改。下载了新的p12证书 怎么也上传不上去 说不匹配。 查了很多资料才知道。只有两种方法。

极光推送

五。最近做了一个本地播放视频的demo 涉及到了一个播放内容。

播放本地地址的视频和播放网络地址的url是不同的。
网络的:

 NSString * path = @"http://dvideo.spriteapp.cn/video/2016/1117/582db0698584d_wpd.mp4";
 NSURL *url = [NSURL URLWithString:path];

本地的:

NSString * path =  [NSString stringWithFormat:@"%@/%@",documentPaths,[videoInfo objectForKey:@"fileName"]];
NSURL * url = [NSURL fileURLWithPath:path];

这样才能让player播放出来。

六。有一个新bug 测试测出来。按钮点击没翻译。但是在我的模拟器上是正常的。我拿测试机试了半天发现是好使的 不过因为屏幕小了 。然后把按钮的热区改大就好了。上代码

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    CGRect bounds = self.bounds;
    //若原热区小于44x44,则放大热区,否则保持原大小不变
    CGFloat widthDelta = MAX(SF_SIZE_SCALE(44) - bounds.size.width, 0);
    CGFloat heightDelta = MAX(SF_SIZE_SCALE(44) - bounds.size.height, 0);
    bounds = CGRectInset(bounds, -0.5 * widthDelta, -0.5 * heightDelta);
    return CGRectContainsPoint(bounds, point);
}

六。最近接了个项目特别紧。然后提测。测试提了个bug。复制粘贴为英文。

复制粘贴bug

解决方案:把plist文件里的Localization native development region 改为china

修改之后
展示中文

七。最近新加个功能 后台需要传一串以逗号分隔的商品类型。

首先你要把商品类型添加到一个数组里

   NSArray * arr = @[@"123",@"123",@"123",@"123"];
    NSString * arrString =  [arr componentsJoinedByString:@","];
log

反向来说。把一个带逗号的字符串变为一个数字

 NSArray * special = [arrString componentsSeparatedByString:@","];
    NSLog(@"%@",special);

反向变成数组

八。导航栏取消下边那道黑线

带黑线的导航

上干货

-(void)viewWillAppear:(BOOL)animated{

    [super viewWillAppear:animated];

    //去除导航栏下方的横线
    [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc]init]
        forBarMetrics:UIBarMetricsDefault];
    [self.navigationController.navigationBar setShadowImage:[[UIImage alloc]init]];

}
在viewWillAppear里加入这段代码就 oK

![修改之后的navBar](http://upload-images.jianshu.io/upload_images/1954780-ccd439907938c49d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

九。自定义页面添加logo

同事需要一个功能 一个页面里边添加logo 并且不影响页面的点击 滑动事件。然后自己就闲的也试了试。

viewWithLogo.gif

下边上干货

   UIView *  markView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 375, self.tableView.contentSize.height)];

    markView.backgroundColor = [[UIColor clearColor] colorWithAlphaComponent:0];
    markView.alpha = 0.5;
    markView.userInteractionEnabled = NO;
    self.view.userInteractionEnabled = YES;
    
    for (int i = 0; i < 20; i++) {
      
        UILabel * Marklabel = [[UILabel alloc]initWithFrame:CGRectMake(0, i * 100, 500, 50)];
        Marklabel.text = @"春风十里 不如你 春风十里不如你春风十里 不如你";
        Marklabel.textColor = [UIColor redColor];
    
        [markView addSubview:Marklabel];
        Marklabel.transform = CGAffineTransformRotate(Marklabel.transform, M_PI_4);
    }
    [self.tableView addSubview:markView];
}
主要是给tableview添加了一个蒙层。然后让他也相应事件。maskView和Self.view设置 交互的顺序不能改变。这样才能让他相应tableView的事件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,387评论 25 707
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,016评论 4 62
  • 第一件事: 陪大侄儿玩儿玩具;在孩子成长过程中陪伴很重要,父母得舍得花时间在孩子身上! 第二件事: 下午陪妈散步;...
    若兰素兮阅读 197评论 0 2
  • 《高效能人士的七个习惯》之七“不断更新” 通过身体,智力,精神和社会/情感四个方面不断训练磨砺前面六个习惯,把优秀...
    Fineyoga施佳阅读 192评论 0 0