ios Lable 添加删除线
遇到坑了:
NSString *goodsPrice = @"230.39";
NSString *marketPrice = @"299.99";
NSString* prceString = [NSString stringWithFormat:@"%@ %@",goodsPrice,marketPrice];
DLog(@"----打印--%@---",prceString); NSMutableAttributedString*attributedString = [[NSMutableAttributedString alloc]initWithString:prceString]; [attributedString addAttribute:NSForegroundColorAttributeName value:RGBACOLOR(, , , ) range:NSMakeRange(, goodsPrice.length)]; [attributedString addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid|NSUnderlineStyleSingle) range:[prceString rangeOfString:marketPrice]]; [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:] range:[prceString rangeOfString:marketPrice]]; [attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor lightGrayColor] range:[prceString rangeOfString:marketPrice]];
[priceLabel setAttributedText:attributedString];
我感觉下面的代码写的没有问题,但是运行起来怎么就不行了呢

真是百思不得姐,然后各种百度:http://stackoverflow.com/questions/43070335/nsstrikethroughstyleattributename-how-to-strike-out-the-string-in-ios-10-3

然后然后...,换了种写法:
NSString *goodsPrice = @"230.39";
NSString *marketPrice = @"299.99";
NSString* prceString = [NSString stringWithFormat:@"%@ %@",goodsPrice,marketPrice];
DLog(@"----打印--%@---",prceString); NSMutableAttributedString *attritu = [[NSMutableAttributedString alloc]initWithString:prceString];
[attritu addAttributes:@{
NSStrikethroughStyleAttributeName:@(NSUnderlineStyleThick),
NSForegroundColorAttributeName:
[UIColor lightGrayColor],
NSBaselineOffsetAttributeName:
@(),
NSFontAttributeName: [UIFont systemFontOfSize:]
} range:[prceString rangeOfString:marketPrice]];
priceLabel.attributedText = attritu;

如果上面的问题还有问题,我们还可以用其他方式实现这种效果
新建一个集成 UILabel 的子类,
- (void)drawRect:(CGRect)rect
{
// 调用super的drawRect:方法,会按照父类绘制label的文字
[super drawRect:rect]; // 取文字的颜色作为删除线的颜色
[self.textColor set];
CGFloat w = rect.size.width;
CGFloat h = rect.size.height;
// 绘制(这个数字是为了找到label的中间位置,0.35这个数字是试出来的,如果不在中间可以自己调整)
UIRectFill(CGRectMake(, h * 0.5, w, ));
}
别忘了sizeToFit 不然线会根据空间的 width来画的
YJlale *priceLabel = [[YJlale alloc] initWithFrame:CGRectMake(, , , )];
priceLabel.textColor = [UIColor redColor];
priceLabel.text = @"";
[priceLabel sizeToFit];
[self.view addSubview:priceLabel];

ios Lable 添加删除线的更多相关文章
- iOS label 添加删除线(删划线)遇到的坑
1.添加删划线方法遇到的问题 -(void)lastLabelDeal:(NSString *)str1 string:(NSString *)str2 label:(UILabel *)label{ ...
- iOS 为label添加删除线
UILabel *testLabel = [[ UILabel alloc] initWithFrame:CGRectMake(, , , )]; testLabel.numberOfLines = ...
- iOS · UILabel加删除线
创建自定义子类DeleteLineLabel,继承自UILabel,然后在自定义子类DeleteLineLabel中 方法一(上下文): - (void)drawRect:(CGRect)rect { ...
- Android中TextView添加删除线
项目中的需求~~~~ 商城中物品的一个本身价格,还有一个就是优惠价格...需要用到一个删除线. public class TestActivity extends Activity { private ...
- python 对过时类或方法添加删除线的方法
class Cat(Animal): def __init__(self): import warnings warnings.warn("Cat类带删除线了", Deprecat ...
- iOS创建带删除线和价钱符号的Label
效果显示如下: 只需要子类化Label,重写DrawRect()方法即可: #import "MyLabel.h" @implementation MyLabel - (insta ...
- Android: 在 TextView 里使用删除线
Android: 在 TextView 里使用删除线 分类: Android2014-09-25 13:17 3431人阅读 评论(0) 收藏 举报 以编程的方式添给 TextView 添加删除线: ...
- iOS仿网易新闻栏目拖动重排添加删除效果
仿网易新闻栏目选择页面的基本效果,今天抽了点时间教大家如何实现UICollectionView拖动的效果! 其实实现起来并不复杂,这里只是基本的功能,没有实现细节上的修改,连UI都是丑丑的样子,随手画 ...
- iOS-属性字符串添加下划线、删除线
常用到的属性字符串 ///定义属性字符串NSMutableAttributedString *att = [[NSMutableAttributedString alloc]initWithStrin ...
随机推荐
- Spring框架IOC容器和AOP解析 非常 有用
Spring框架IOC容器和AOP解析 主要分析点: 一.Spring开源框架的简介 二.Spring下IOC容器和DI(依赖注入Dependency injection) 三.Spring下面 ...
- Learning Python 008 正则表达式-001
Python 正则表达式 总结 这节课讲讲正真使用的技术 - 正真表达式. 文本爬虫 什么是正则表达式 正则表达式这个名词听起来就有一种很官方的感觉,但是它是一个很很很有用的技术.我用语言是不能形容它 ...
- ubuntu14.04装完系统更新后桌面挂了
一开始是只显示个鼠标什么都没有,ctrl-alt-1切到控制台下,把lightdm重启下再进去,多了两个桌面图标,但是顶栏和侧栏都没有,也就是根本没法运行其它程序. 但是幸好桌面右键菜单里有一个“在控 ...
- leetcode:234. Palindrome Linked List
这个题目非常好.http://blog.csdn.net/u012249528/article/details/47124771给出了三种解法,其中前两个是不满足条件的,不过具有参考价值: 第一种办法 ...
- Entity Framework Code-First(9.10):DataAnnotations - NotMapped Attribute
DataAnnotations - NotMapped Attribute: NotMapped attribute can be applied to properties of a class. ...
- Android 设计模式情景分析——观察者模式
观察者模式是一种使用频率非常高的模式,有时也被称作发布/订阅模式,属于行为型模式,它最常用的是 GUI 系统.订阅——发布系统,它一个重要作用就是解耦,使得它们之间的依赖性更小.观察者模式定义了对象间 ...
- 使用 typescript ,提升 vue 项目的开发体验(2)
此文已由作者张汉锐授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. vuex-class 提供了和 vuex 相关的全部装饰器,从而解决了上面 Vue.extend + vue ...
- Redis学习笔记(一):基础数据结构
一. 引言 <Redis设计与实现>一书主要分为四个部分,其中第一个部分主要讲的是Redis的底层数据结构与对象的相关知识. Redis是一种基于C语言编写的非关系型数据库,它的五种基本对 ...
- MYSQL MYSQLI PDO
PHP的MySQL扩展(优缺点) 设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程 的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然 ...
- Educational Codeforces Round 52D(ARRAY,模拟最短路)
#include<bits/stdc++.h>using namespace std;int n,x;int chess[17*17];//记录棋盘上的numberarray<int ...