iOS开发中的特殊处理(一)
2019-08-21 本文已影响0人
iOS_林亦辰
1、UITextField 文本输入框 左内边距设置(以防文字内容贴边)
textField.leftView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 5, 0)];
textField.leftViewMode = UITextFieldViewModeAlways;
2、 UIButton 图标和文字的显示(图标文字同时显示)
// 左图标 右文字(默认)
CGFloat gap = 6.0f;
clearBtn.imageEdgeInsets = UIEdgeInsetsMake(0, -gap / 2, 0, gap / 2);
clearBtn.titleEdgeInsets = UIEdgeInsetsMake(0, gap / 2, 0 , - gap / 2);
clearBtn.contentEdgeInsets = UIEdgeInsetsMake(0, gap / 2, 0, gap / 2);
// 左文字右图标
self.imageEdgeInsets = UIEdgeInsetsMake(0, CGRectGetMaxX(self.titleLabel.frame), 0, 0);
self.titleEdgeInsets = UIEdgeInsetsMake(0, -15, 0, 10);
3、UILabel 显示文本和小图标Logo
NSString *name = [NSString stringWithFormat:@"%@ ",kStringConvertNull(carListItem.carName)];
NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:name];
NSTextAttachment *attch = [[NSTextAttachment alloc] init];
attch.image = KImage_Work(@"认证车");
attch.bounds = CGRectMake(0, -3, 32, 16);
// 创建带有图片的富文本
NSMutableAttributedString *string = [[NSMutableAttributedString alloc]initWithAttributedString:[NSAttributedString attributedStringWithAttachment:attch]];
[attri appendAttributedString:string];
_carName.attributedText = attri;
4、给视图添加手势,点击事件
UITapGestureRecognizer *tag = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(toLogin)];
[tagView addGestureRecognizer:tag];
5、时间Date 和字符串NSString 互转
[OSCommon stringFromDate:date format:@"yyyy-MM-dd"];
+ (NSDate*)dateFromString:(NSString*)dateString format:(NSString*)format
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
[formatter setDateFormat:format];
NSDate *date=[formatter dateFromString:dateString];
return date;
}
+ (NSString*)stringFromDate:(NSDate*)date format:(NSString*)format
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
[formatter setDateFormat:format];
NSString *dateString = [formatter stringFromDate:date];
return dateString;
}
6、UILabel 显示异常 右边黑线
image.png
因为width 为x.33等,不能正常显示像素值,建议floor(width),向上取整。
CGSize timeSize = [time boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, 20)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12]}
context:nil].size;
// 修改前
// timeLabel.width = timeSize.width + 20;
// 修改后
timeLabel.width = floor(timeSize.width + 20);
未完待续
佛祖镇楼
//
// _ooOoo_
// o8888888o
// 88" . "88
// (| -_- |)
// O\ = /O
// ____/`---'\____
// . ' \\| |// `.
// / \\||| : |||// \
// / _||||| -:- |||||- \
// | | \\\ - /// | |
// | \_| ''\---/'' | |
// \ .-\__ `-` ___/-. /
// ___`. .' /--.--\ `. . __
// ."" '< `.___\_<|>_/___.' >'"".
// | | : `- \`.;`\ _ /`;.`/ - ` : | |
// \ \ `-. \_ __\ /__ _/ .-` / /
// ======`-.____`-.___\_____/___.-`____.-'======
// `=---='
//
// .............................................
// 佛祖保佑 永无BUG 需求不改
// 佛曰:
// 写字楼里写字间,写字间里程序员;
// 程序人员写程序,又拿程序换酒钱。
// 酒醒只在网上坐,酒醉还来网下眠;
// 酒醉酒醒日复日,网上网下年复年。
// 但愿老死电脑间,不愿鞠躬老板前;
// 奔驰宝马贵者趣,公交自行程序员。
// 别人笑我忒疯癫,我笑自己命太贱;
// 不见满街漂亮妹,哪个归得程序员?