Bła*_*żej 145 fonts cocoa-touch uitextview ios
我有UITextView *_masterText和之后调用方法setText属性字体正在重置.这是在我更改sdk 7. _masterText之后发生的IBOutlet,全局和属性在storyboard中设置.这只是我或这是一般的SDK错误?
@interface myViewController : UIViewController
{
IBOutlet UITextView *_masterText;
}
@implementation myViewController
-(void)viewWillAppear:(BOOL)animated
{
[_masterText setText:@"New text"];
}
Run Code Online (Sandbox Code Playgroud)
小智 450
坐了几个小时,我发现了这个bug.如果属性"可选"= NO,则在使用setText时将重置字体和fontcolor.
所以打开Selectable ON,错误就消失了.
小智 11
我遇到了同样的问题(在Xcode 6.1上),当John Cogan的回答对我有用时,我发现用类别扩展UITextView类对我的特定项目来说是一个更好的解决方案.
@interface UITextView (XcodeSetTextFormattingBugWorkaround)
- (void)setSafeText:(NSString *)textValue;
@end
Run Code Online (Sandbox Code Playgroud)
@implementation UITextView (XcodeSetTextFormattingBugWorkaround)
- (void)setSafeText:(NSString *)textValue
{
BOOL selectable = [self isSelectable];
[self setSelectable:YES];
[self setText:textValue];
[self setSelectable:selectable];
}
@end
Run Code Online (Sandbox Code Playgroud)
如果您希望文本视图为"只读",则可以选中"可编辑"和"可选择"并取消选中"启用用户交互",这样UITextView的行为就像我想要的那样
有这个问题我自己和上面的答案有帮助,但我添加了一个包装到我的ViewController代码如下,只是传递uiview实例和文本进行更改,包装函数切换可选值,更改文本,然后再将其关闭.默认情况下,您需要在任何时候关闭uitextview.
/*
We set the text views Selectable value to YES temporarily, change text and turn it off again.
This is a known bug that if the selectable value = NO the view loses its formatting.
*/
-(void)changeTextOfUiTextViewAndKeepFormatting:(UITextView*)viewToUpdate withText:(NSString*)textValue
{
if(![viewToUpdate isSelectable]){
[viewToUpdate setSelectable:YES];
[viewToUpdate setText:textValue];
[viewToUpdate setSelectable:NO];
}else{
[viewToUpdate setText:textValue];
[viewToUpdate setSelectable:NO];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26924 次 |
| 最近记录: |