上一篇 UICopyLabel 通过创建UILabel的子类实现了长按复制自身文字功能,只要让自己的Label继承UICopyLabel即可。但是它可能已经继承了其它封装好的子类,这时候我们就需要另辟蹊径了。
UILabel+Copy是UILabel的category,把copyable设置为YES时就可是实现长按复制。
代码如下:
UILabel+Copy.h
#import <UIKit/UIKit.h>
@interface UILabel (Copy)
@property (nonatomic, assign) BOOL copyable;
@end
UILabel+Copy.m
#import "UILabel+Copy.h"
#import <objc/runtime.h>
@implementation UILabel (Copy)
- (BOOL)copyable {
return [objc_getAssociatedObject(self, @selector(copyable)) boolValue];
}
- (void)setCopyable:(BOOL)copyable