Отключить горизонтальную прокрутку в UITextView (iOS)
Я пытался выяснить, как отключить горизонтальную прокрутку в UITextView (я видел много вопросов по этому поводу, но ни один из них не помог мне). Проблема прокрутки возникает, когда я поворачиваю текстовое представление. Код, используемый для этого, здесь:
class ViewController: UIViewController {
@IBOutlet var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
textView.textContainerInset = UIEdgeInsetsMake(0, 0, 0, 10) // prevent that text near right edge it cut away
textView.contentSize = CGSizeMake(textView.frame.size.width, 300)
self.textView.transform = CGAffineTransformMakeRotation(2 * 3.14159 / 180.0)
textView.layer.borderWidth = 1.0 // check that textview stays within view
textView.layer.borderColor = UIColor.blackColor().CGColor
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Я попытался отключить горизонтальную прокрутку, установив textView.contentSize = CGSizeMake(textView.frame.size.width, 300)
как предложено в другом вопросе stackru, но это не имеет никакого эффекта. Я также попытался удалить вставку, но она также не заблокировала горизонтальную прокрутку.
Мне нужно иметь возможность прокручивать по вертикали, поэтому полностью отключить прокрутку нельзя. Я использую Xcode 6 с iOS 8 в качестве цели развертывания.
3 ответа
Вы должны установить фактический размер содержимого и сделать это чуть позже, в viewDidAppear.
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.textView.contentSize = self.textView.bounds.size;
}
Как насчет textView.scrollEnabled = NO;
? Это сработало для меня.