2015-02-11 6 views
-6

У меня есть проблема с моим приложением, смотрите на этой картинкеКак настроить размер UITextView? Swift

this pic

Теперь я печатаю на 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() 
    } 






} 

Im USI ng Swift IOS 8

+0

Код, который вы отправили, не делает ничего значимого. Пожалуйста, опубликуйте что-нибудь еще или подумайте о том, чтобы использовать один из многих сторонних инструментов, которые выполняют одно и то же. – InkGolem

+0

Я не знаю, как я это делаю, поэтому я пытаюсь выяснить, как, если у вас есть сторонний инструмент, дайте мне спасибо, спасибо –

+0

Ваш вопрос действительно слишком велик для простого ответа. Рассмотрите возможность использования (или создания) стороннего решения, подобного тому, которое предоставляет создатели [Slack (скачать здесь)] (https://github.com/slackhq/SlackTextViewController). – InkGolem

ответ

0

Кажется, что вы просите несколько вещей (все, что я думаю, уже имеют ответы на переполнение стека), но я сделаю все возможное, чтобы дать вам несколько примеров ,

Во-первых, то, что вы до сих пор скрываете клавиатуру, когда вы нажимаете на вид. Это может частично победить вашу цель.

Во-вторых, если вы пытаетесь перейти к верхней части вашего noteTextBox, попробуйте использовать: noteTextBox.setContentOffset(CGPointMake(0, 0), animated: true)
[Использование animted: true если вы хотите прокрутки анимации. Вы, возможно, не, я не знаю]

В-третьих, проверить этот вопрос для изменения размера UITextView: Click Here

В-четвертых, проверить этот вопрос для возвращения к «вспоминали» позиции на вашем UIView: Click Here

Успехов,
Кайл

+0

спасибо, что я проверю и попробую сейчас, если у вас есть библиотека cocopods, которая делает это, pls размещены здесь –

+0

У меня нет библиотеки CocoaPods для этого, однако код должен быть довольно прост в реализации. Я рекомендую разбить свой вопрос на более мелкие куски, например «Как перейти на верх UITextView?» или «Как настроить размер UITextView?». Это упростит поиск ответов на те вопросы, которые у вас есть. – kbpontius

+0

Я сделаю сейчас, спасибо вам, дорогой –

0

для любого нужен ответ с 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() 




    } 







} 

Спасибо за всех, кто пытался помочь мне.

Смежные вопросы