iOS小结

上传图片


图片发自简书App
gif图片的显示
NSString *filePath = [[NSBundle    mainBundle] pathForResource:@"railway" ofType:@"gif"];
NSData *gif = [NSData     dataWithContentsOfFile:filePath];

UIWebView *webViewBG = [[UIWebView alloc] initWithFrame:self.view.frame];

[webViewBG loadData:gif MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];

webViewBG.userInteractionEnabled = NO;

[self.view addSubview:webViewBG];

//后台播放音频设置

    AVAudioSession *session = [AVAudioSession sharedInstance];
    [session setActive:YES error:nil];
    [session setCategory:AVAudioSessionCategoryPlayback error:nil];

//让app支持接受远程控制事件

//设置app支持接受远程控制事件,其实就是在dock中可以显示应用程序图标,同时点击该图片时,打开app

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

TextField 编辑过程中的回调方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;{
if ([string isEqualToString:@"\\\\\\\\\\\\\\\\n"]){

return YES;

}

NSString * toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string];

if (self.myTextField == textField)

{

if ([toBeString length] > 11) {

textField.text = [toBeString      substringToIndex:11];

UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:nil message:@"超过最大字数不能输入了" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil] autorelease];

[alert show];

return NO;

}

}

return YES;

}

设置UILabel 和UITextField的行间距
// 设置行间距

- (void)setLineSpacing:(CGFloat)spacing label:(UILabel *)label{

NSMutableAttributedString * attributedString = [[NSMutableAttributedString alloc] initWithString:label.text];

NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init];

[paragraphStyle setLineSpacing:spacing];

[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [label.text length])];

[label setAttributedText:attributedString];

[label sizeToFit];
}
#define UILABEL_LINE_SPACE 6
#define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height
//给UILabel设置行间距和字间距
-(void)setLabelSpace:(UILabel*)label withValue:(NSString*)str withFont:(UIFont*)font {
    NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStylealloc] init];
    paraStyle.lineBreakMode =NSLineBreakByCharWrapping;
    paraStyle.alignment =NSTextAlignmentLeft;
    paraStyle.lineSpacing = UILABEL_LINE_SPACE; //设置行间距
    paraStyle.hyphenationFactor = 1.0;
    paraStyle.firstLineHeadIndent =0.0;
    paraStyle.paragraphSpacingBefore =0.0;
    paraStyle.headIndent = 0;
    paraStyle.tailIndent = 0;
    //设置字间距 NSKernAttributeName:@1.5f
    NSDictionary *dic =@{NSFontAttributeName:font,NSParagraphStyleAttributeName:paraStyle,NSKernAttributeName:@1.5f
};
    
    NSAttributedString *attributeStr = [[NSAttributedStringalloc] initWithString:strattributes:dic];
    label.attributedText = attributeStr;
}

//计算UILabel的高度(带有行间距的情况)
-(CGFloat)getSpaceLabelHeight:(NSString*)str withFont:(UIFont*)font withWidth:(CGFloat)width {
    NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStylealloc] init];
    paraStyle.lineBreakMode =NSLineBreakByCharWrapping;
    paraStyle.alignment =NSTextAlignmentLeft;
    paraStyle.lineSpacing = UILABEL_LINE_SPACE;
    paraStyle.hyphenationFactor = 1.0;
    paraStyle.firstLineHeadIndent =0.0;
    paraStyle.paragraphSpacingBefore =0.0;
    paraStyle.headIndent = 0;
    paraStyle.tailIndent = 0;
    NSDictionary *dic =@{NSFontAttributeName:font,NSParagraphStyleAttributeName:paraStyle,NSKernAttributeName:@1.5f
};
    
    CGSize size = [strboundingRectWithSize:CGSizeMake(width,HEIGHT) options:NSStringDrawingUsesLineFragmentOriginattributes:dic context:nil].size;
    return size.height;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS小结 1、相应点击指定view区域 2、修改UITextField的默认颜色文字大小 3、去掉字符串的空格 ...
    邹邹_ZZ阅读 2,152评论 0 7
  • 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户...
    陈向阳哈阅读 4,106评论 1 20
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,110评论 8 183
  • 打起精神来,在独自一人的时候。你是最棒的。 因为在独自努力的时候,你只有不断地给自己正能量,你才能够坚持下来。 我...
    鲍鱼不吃辣阅读 280评论 0 1
  • 我们女人在和男生在一起的时候,什么最重要?当然是要判断这个男生是不是潜力股!我们都知道,女人最珍贵的东西就是青春和...
    拾荒Demo阅读 1,026评论 0 2