我正在开发一个应用程序,其中我有一个字符串,其中包含前缀为#的标签.
我正在使用TTTAttribute标签添加指向给定字符串中具有前缀#的单词的链接.
当我添加到TTTAttribute标签的链接时.它成功添加,当点击它时,我能够在该字符串中获得具有前缀#的所选单词.
但我无法根据字符串长度对齐TTTAttribute标签的中心.
默认属性
attributedLabel.verticalAlignment = TTTAttributedLabelVerticalAlignmentCenter;
在应用链接时无法正常工作.我希望标签对齐中心的长度如下所示.
如果它是正常的TTTAttribute标签而没有应用链接,那么默认的对齐属性正确应用..
- (void)viewDidLoad { [super viewDidLoad]; NSRange matchRange; NSString *tweet = @"#MYTWEET,#tweet,#fashion #Share"; NSScanner *scanner = [NSScanner scannerWithString:tweet]; if (![scanner scanUpToString:@"#" intoString:nil]) { // there is no opening tag } NSString *result = nil; if (![scanner scanUpToString:@" " intoString:&result]) { // there is no closing tag } //@"theString is:%@",result); NSArray *words = [tweet componentsSeparatedByString:@" "]; TTTAttributedLabel *attributedLabel=[[TTTAttributedLabel alloc]initWithFrame:CGRectMake(5,200,320,40)]; attributedLabel.textAlignment=NSTextAlignmentCenter; attributedLabel.text=tweet; words = [tweet componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@",0123456789`~!@$%^&*()_-+=.></?;:'* "]]; for (NSString *word in words) { if ([word hasPrefix:@"#"]) { //@"word %@",word); // Colour your 'word' here matchRange=[tweet rangeOfString:word]; [attributedLabel addLinkToURL:[NSURL URLWithString:word] withRange:matchRange]; [tagsarray addObject:word]; } } attributedLabel.delegate=self; } - (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url { //@"result ==== %@",url); NSString *webString=[NSString stringWithFormat:@"%@",url]; NSString *tagstring = [webString stringByReplacingOccurrencesOfString:@"#" withString:@""]; NSLog(@"Tag String is:%@",tagstring); }
我不想调整TTTAttribute标签的框架..
任何建议或帮助将不胜感激..
提前致谢..
解决方法
它非常简单,使用以下代码:
attributedLabel.textAlignment = NSTextAlignmentCenter;