基本上我有一个UITextView,当我旋转它时,内容大小比帧大小宽。当框架外没有文本时,这会导致文本视图水平滚动。不希望出现这种情况。
UITextView *ingredientsTextView = [[[UITextView alloc] initWithFrame:CGRectMake(50, 100,315,300)] autorelease];
[ingredientsTextView setBackgroundColor:[UIColor clearColor]];
[ingredientsTextView setEditable:NO];
[ingredientsTextView setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin];
[ingredientsTextView setFont:[UIFont fontWithName:@"Helvetica" size:18]];
[ingredientsTextView setText:ingredientsText];
ingredientsTextView.transform = CGAffineTransformMakeRotation((3.44*M_PI)/180);
[ingredientsView addSubview:ingredientsTextView];
我无法理解为什么会这样。即使放入setContentSize
方法,它也会导致它水平滚动(仅约5 / 10pts),即使宽度<1。 100!
有什么想法吗?这只是旋转的副作用吗?
由于 汤姆
答案 0 :(得分:4)
我也遇到了这个问题。
我找到的唯一解决方案是创建UIView的实例并将UITextView添加为子视图。然后你可以旋转UIView的实例和UITextView将正常工作。
UITextView *myTextView = [[UITextView alloc] init];
[myTextView setFrame:CGRectMake(0, 0, 100, 100)];
UIView *myRotateView = [[UIView alloc] init];
[myRotateView setFrame:CGRectMake(20, 20, 100, 100)];
[myRotateView setBackgroundColor:[UIColor clearColor]];
[myRotateView addSubview:myTextView];
myRotateView.transform = CGAffineTransformMakeRotation(0.8);
[[self view] addSubview:myRotateView];
答案 1 :(得分:3)
我认为你不应该旋转textView,你应该旋转的是它下面的视图。例如,navigationController的视图,或viewController的内容视图。