Vid*_*and 6 objective-c ios tttattritubedlabel
我正在开发一个应用程序,其中我有一个字符串,其中包含前缀为#的标签.
我正在使用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);
}
Run Code Online (Sandbox Code Playgroud)
我不想调整TTTAttribute标签的框架..
任何建议或帮助将不胜感激..
提前致谢..
car*_*los 16
您需要使用段落样式集设置链接属性:
NSMutableParagraphStyle* attributeStyle = [[NSMutableParagraphStyle alloc] init];
attributeStyle.alignment = NSTextAlignmentCenter;
NSDictionary *attributes = @{NSFontAttributeName:[UIFont fontWithName:@"Helvetica Neue" size:11], NSForegroundColorAttributeName:[UIColor colorWithRed:0.324 green:0.0 blue:0.580 alpha:1.0], NSParagraphStyleAttributeName:attributeStyle};
[self.atributedLabel setLinkAttributes:attributes];
Run Code Online (Sandbox Code Playgroud)
非常简单,使用以下代码:
attributedLabel.textAlignment = NSTextAlignmentCenter;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2947 次 |
| 最近记录: |