我在this post中找到了NSAttributedString的示例。我的问题是 - 是否有任何提示,如何将其用于UIRefreshControl class
?
从上面的帖子:
NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:@"firstsecondthird"];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,5)];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(5,6)];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(11,5)];
UIRefreshControl
自动调用属性吗?
编辑:
我知道如何设置它,我想知道它是否用于任何其他目的然后“只是”格式化标签 - UIRefresherControl是否能够显示 TWO 字符串?一个被拉出之前,一个被拉了之后?当我看到我不能放入“普通”字符串时,这就是我的想法。
答案 0 :(得分:5)
这是完整的示例,如何在UIRefreshControl中创建和修改色调颜色,字体颜色和字体样式:
_refreshControl = [[UIRefreshControl alloc] init];
_refreshControl.tintColor = [UIColor blackColor];
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"Pull to Refresh"];
NSRange fullRange = NSMakeRange(0, [string length]);
[string addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:fullRange];
[string addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Georgia" size:17] range:fullRange];
[_refreshControl setAttributedTitle:string];
[_refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
[self setRefreshControl:_refreshControl];
答案 1 :(得分:4)
好吧,看看UIRefreshControl
有一个attributedTitle
属性的NSAttributedString
属性,并看到NSMutableAttributedString
是NSAttributedString
的子类,会这样做:
[myRefreshControl setAttributedTitle:string];
是能够显示两个字符串的UIRefresherControl吗?
没有。但是你可以尝试使用多行或者不同的段落样式来放置一个属性字符串(例如,一个部分可以左对齐,另一个右对齐,例如)。
一个被拉过之前还有一个被拉过后?
没有。您可以根据自己的应用程序逻辑更改refreshControl的属性标题。