label.m(labelme和labelimg区别)
UILabel设置内边距
CustomLabel.h
#import
@interface CustomLabel : UILabel
@property (nonatomic, assign) UIEdgeInsets textInsets; // 控制字体与控件边界的间隙
@end
CustomLabel.m
#import "CustomLabel.h"
@implementation CustomLabel
- (instancetype)init {
if (self = [super init]) {
_textInsets = UIEdgeInsetsZero;
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
_textInsets = UIEdgeInsetsZero;
}
return self;
}
- (void)drawTextInRect:(CGRect)rect {
[super drawTextInRect:UIEdgeInsetsInsetRect(rect, _textInsets)];
}
@end
Demo.m
CustomLabel *titleLabel? ? = [[CustomLabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.f, 24.0f)];
titleLabel.backgroundColor = [UIColor whiteColor];
titleLabel.textColor? ? ? = [UIColor blackColor];
titleLabel.font? ? ? ? ? ? = [UIFont systemFontOfSize:12.0f];
titleLabel.textInsets? ? ? = UIEdgeInsetsMake(0.f, 15.f, 0.f, 0.f); // 设置左内边距
iOS富文本Label实现点击事件,类似Word在横线上输入编辑
.h
NS_ASSUME_NONNULL_BEGIN
@interface GHAttributesLabel : UILabel
typedef void(^GHAttributesBlock)(NSRange poinRange);
/**
@param text 传入富文本类型的字符串
@param actionText 要响应事件的字符串
*/
/**
点击事件回调
*/
@property (nonatomic , copy) GHAttributesBlock actionBlock;
.m
//
// GHAttributesLabel.m
// GHAttributesLabelDemo
//
// Created by zhaozhiwei on 2019/1/20.
// Copyright ? 2019年 GHome. All rights reserved.
//
@interface GHTextView : UITextView
@end
@implementation GHTextView
@end
@interface GHAttributesLabel()UITextViewDelegate
@property (nonatomic , strong) GHTextView *textView ;
@property (nonatomic , copy) NSString *actionText ;
/** #注释#*/
@property (nonatomic, assign) NSRange range;
@end
@implementation GHAttributesLabel
// return YES;
}
@end
使用
-(void)test{
GHAttributesLabel *attributesLabel = [[GHAttributesLabel alloc]initWithFrame:CGRectMake(10, 200, [UIScreen mainScreen].bounds.size.width - 20, 250)];
// NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:temp];
// NSRange range = [temp rangeOfString:actionStr];
// NSLog(@"range%@",NSStringFromRange(range));
NSArray *actionArr = [self rangeOfSubString:actionStr inString:temp];
NSLog(@"===:%@",[self rangeOfSubString:actionStr inString:temp]);
for (int i = 0; i actionArr.count; i++) {
NSValue *value = actionArr[i];
NSRange actionRange = [value rangeValue];
[attrStr addAttribute:NSLinkAttributeName
value:actionStr
range: actionRange];
}
}
}
return rangeArray;
}
-(NSMutableAttributedString *)keyWords:(NSString *)keyWords withKeyWordsColor:(UIColor *)color
{
}
label.m 这个是什么牌子? 貌似很贵吧,这牌子中文叫什么? 一瓶洗发水要多少钱?
这个品牌是TONIGUY旗下的专业线产品。是英国品牌,产品是在美国生产的。纯进口产品。
价格方面确实要贵一些,分不同的系列。洗发水价格不一样。一般的一瓶300ml洗发水价格在100左右,但产品效果确实很好,
这个品牌很牛,尤其是造型产品,是现在全球最顶级的了。好多明星都在用。尤其是它几款明星产品,
label.m、施华蔻丝雅、卡诗,三大顶级品牌。
ios怎么去除label显示的空行
iOS7.0之前解决办法:在每个换行符后面添加一个空格
即如果要显示为:
aaaaaaa
空行
空行
bbbbbb
使用以下格式进行文本赋值
lbl.text = @"aaaaaaa\n\u0020\n\u0020bbbbbb";
iOS7.0之后需要增加,不增加则无效
lbl.numberOfLines = 0; // 0表示行数不固定
lbl.lineBreakMode=UILineBreakModeWordWrap; // 允许换行(可选)
需求2.在所有的UILabel的text后增加一个空格,并使text右对齐。
iOS7.0之前解决办法:直接在text后增加空格即可,即text在赋值前增加空格。
lbl.text = [NSString stringWithFormat:@"%@%@","aaaaa","\u0020"];
iOS7.0之后需要重写UILabel的drawTextInRect方法,通过缩短默认文本绘制Rect的宽度半个字体宽度来实现。
具体实现代码如下:
文件名:MyLabel.h
#import UIKit/UIKit.h
@interface MyLabel : UILabel
@end
文件名:MyLabel.m
#import "MyLabel.h"
@implementation MyLabel
-(id) initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if(self){
return self;
}
}
-(void) drawTextInRect:(CGRect)rect {
//从将文本的绘制Rect宽度缩短半个字体宽度
//self.font.pointSize / 2
return [super drawTextInRect:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width - self.font.pointSize / 2, rect.size.height)];
}
@end