Ios UIScrollView中模糊的UITextView
我在UIScrollView中遇到了一个模糊的UITextView问题,所以我创建了一个简单的小应用程序,它只有一个ScrollView,可以保存一个视图,而这个视图上又有一个UITextView。下面的代码是我设置它的所有代码。如果放大,文本将变得模糊。我看过其他关于这方面的帖子,建议在UITextView上设置contentScaleFactor。然而,它也不起作用。另一个建议是确保UITextField的帧不在像素之间…在我的示例中可以看到,帧位于整个像素上 因此,对于如何使文本变得清晰,我感到不知所措 如果有人有任何想法,请告诉我 谢谢 彼得 试着看看这个帖子:Ios UIScrollView中模糊的UITextView,ios,uitextview,blurry,Ios,Uitextview,Blurry,我在UIScrollView中遇到了一个模糊的UITextView问题,所以我创建了一个简单的小应用程序,它只有一个ScrollView,可以保存一个视图,而这个视图上又有一个UITextView。下面的代码是我设置它的所有代码。如果放大,文本将变得模糊。我看过其他关于这方面的帖子,建议在UITextView上设置contentScaleFactor。然而,它也不起作用。另一个建议是确保UITextField的帧不在像素之间…在我的示例中可以看到,帧位于整个像素上 因此,对于如何使文本变得清晰,
看起来比例因子是正确的选择,但仅使用scrollview委托中的默认比例不足以获得清晰的文本。记录每一帧-NSStringFromCGRect()-打赌某些内容不是整数
@implementation SIAppDelegate
{
UITextView *textView;
float originalFontSize;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[SIViewController alloc] initWithNibName:@"SIViewController" bundle:nil];
self.window.rootViewController = self.viewController;
//Setting up the scroll view
UIScrollView *scrollView = (UIScrollView *)self.viewController.view;
scrollView.delegate = self;
scrollView.maximumZoomScale = 5;
scrollView.minimumZoomScale = 1;
//Setting up the content view
UIView *view = [[UIView alloc] initWithFrame:scrollView.frame];
view.backgroundColor = [UIColor blueColor];
textView = [[UITextView alloc] initWithFrame:CGRectIntegral(CGRectMake(200, 200, 200, 200))];
textView.text = @"Hello, World";
[view addSubview:textView];
[scrollView addSubview:view];
scrollView.contentSize = CGSizeMake(2000, 2000);
[self.window makeKeyAndVisible];
return YES;
}
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return scrollView.subviews[0];
}
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{
[scrollView.subviews[0] setContentScaleFactor:scale];
textView.contentScaleFactor = scale;
}
@end