Отключить горизонтальную прокрутку в 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;? Это сработало для меня.

В скором времени:

textView.scrollEnabled = false

Другие вопросы по тегам