Ios 如何调整UITextView的大小?敏捷的

Ios 如何调整UITextView的大小?敏捷的,ios,iphone,swift,Ios,Iphone,Swift,我的应用程序有问题,看看这张图片 现在我在textView上输入,我想要一种方法来调整textView的大小,或者将其移动到顶部,或者滚动到我要输入的最后一个位置。请帮助 我在这里看到了很多答案,但都不适用于我,这是我尝试其中一个答案时的代码 import UIKit class AddEditClassNoteViewController: UIViewController { @IBOutlet var keyboardHeightLayoutConstraint: NSLayo

我的应用程序有问题,看看这张图片

现在我在textView上输入,我想要一种方法来调整textView的大小,或者将其移动到顶部,或者滚动到我要输入的最后一个位置。请帮助

我在这里看到了很多答案,但都不适用于我,这是我尝试其中一个答案时的代码

import UIKit

class AddEditClassNoteViewController: UIViewController {

    @IBOutlet var keyboardHeightLayoutConstraint: NSLayoutConstraint?


    override func viewDidLoad() {
        super.viewDidLoad()


        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    deinit {
        NSNotificationCenter.defaultCenter().removeObserver(self)
    }

    @IBOutlet weak var noteTextBox: UITextView!

    override func touchesBegan(touches: NSSet, withEvent event: UIEvent)
    {

   self.noteTextBox.resignFirstResponder()




    }





        func textFieldDidBeginEditing(textField: UITextField) {
            animateViewMoving(true,moveValue: 100)
        }
        func textFieldDidEndEditing(textField: UITextField) {
            animateViewMoving(false,moveValue: 100)
        }

    func animateViewMoving (up:Bool, moveValue :CGFloat){
        var movementDuration:NSTimeInterval = 0.3
        var movement:CGFloat = ( up ? -moveValue : moveValue)
        UIView.beginAnimations( "animateView", context: nil)
        UIView.setAnimationBeginsFromCurrentState(true)
        UIView.setAnimationDuration(movementDuration )
        self.view.frame = CGRectOffset(self.view.frame, 0,  movement)
        UIView.commitAnimations()
    }






}

我使用的是Swift IOS 8,看起来你在问几个问题,我猜,所有这些问题都已经有了关于堆栈溢出的答案,但我会尽力给你举几个例子

首先,当你点击视图时,你所拥有的似乎隐藏了键盘。这可能部分地违背了你的目的

其次,若您试图滚动到noteTextBox的顶部,请尝试使用: noteTextBox.setContentOffsetCGPointMake0,0,动画:true[如果您想要滚动动画,请使用动画:true。您可能不需要,我不知道]

第三,查看此问题以调整UITextView的大小:

第四,检查这个问题,返回到您的UIView中记忆中的位置:

祝你好运,
Kyle

对于任何需要用Swift语言回答的人,答案只需以下简单更改即可

import UIKit

class AddEditClassNoteViewController: UIViewController {

    var keyboardShowing = false
    @IBOutlet weak var noteTextBox: UITextView!


    override func viewDidLoad() {
        super.viewDidLoad()
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardShow:", name: UIKeyboardWillShowNotification, object: nil)
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardHide:", name: UIKeyboardWillHideNotification, object: nil)


        // Do any additional setup after loading the view.
    }
    override func shouldAutorotate() -> Bool {
        return !self.keyboardShowing
    }

    // much simpler than in iOS 7; a lot of the touchy bugs are gone in iOS 8
    // as long as you play your part (adjust content offset),
    // iOS 8 will play its part (scroll cursor to visible)
    // and we don't have to animate




    func keyboardShow(n:NSNotification) {
        self.keyboardShowing = true

        let d = n.userInfo!
        var r = (d[UIKeyboardFrameEndUserInfoKey] as NSValue).CGRectValue()
        r = self.noteTextBox.convertRect(r, fromView:nil)
        self.noteTextBox.contentInset.bottom = r.size.height
        self.noteTextBox.scrollIndicatorInsets.bottom = r.size.height
    }

    func keyboardHide(n:NSNotification) {
        self.keyboardShowing = false
        self.noteTextBox.contentInset = UIEdgeInsetsZero
        self.noteTextBox.scrollIndicatorInsets = UIEdgeInsetsZero
    }

    func doDone(sender:AnyObject) {
        self.view.endEditing(false)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    deinit {
        NSNotificationCenter.defaultCenter().removeObserver(self)
    }


    override func touchesBegan(touches: NSSet, withEvent event: UIEvent)
    {

   self.noteTextBox.resignFirstResponder()




    }







}

谢谢所有帮助我的人

你发布的代码没有任何意义。请更多地张贴或考虑使用第三方工具中的一个来完成同样的事情。我不知道我是如何做到这一点的,这就是为什么我要找出如何,如果你有任何第三方工具给我的话,感谢问题对于一个简单的答案来说实在太大了。考虑使用或建立一个第三方的解决方案,就像创造者提供的那样。谢谢你的回答,我不知道你是否觉得我的问题不好?我不知道为什么这里的人把我的问题投坏票。谢谢你,我会检查并尝试现在,如果你有任何cocopods库做这件事请放在这里我没有CocoaPods库为这一点,但代码应该是相当容易实现。我建议将您的问题分成更小的部分,例如如何滚动到UITextView的顶部?或者如何调整UITextView的大小?。这将使您更容易找到这些问题的答案。