Получить пользовательские границы представления из контроллера представления

У меня есть ViewController с несколькими пользовательскими представлениями. CustomView имеет xib под названием customView.xib и реализован в CustomView.swift.

CustomView имеет текстовое поле, а его делегат реализован в CustomView.swift.

Когда текстовое поле внутри CustomView в ViewController нажато, метод делегирования:

    func textFieldDidBeginEditing(textField: UITextField) {
        var field = textField as! AddItemTextField
         ViewController?.makeViewOffset(self.bounds.origin.y - 20)          
        }
    }

функция make offset реализована в ViewController :

func makeViewOffset(offset: CGFloat) {
    UIView.animateWithDuration(0.5, animations: { () -> Void in
        self.scrollView.contentOffset.y = offset
    })
}

Итак, чего я хочу добиться: при нажатии на некоторые из customViews получить их позицию в моем scrollView и сделать смещение scrollView на это значение, чтобы представление было видно в верхней части прокрутки.

Где я сейчас: мои границы равны нулю, и я не могу передать координаты CustomView.swift

Любой совет?


person Spencer_Reid    schedule 18.08.2015    source источник
comment
вы посмотрите на методы convertRect:toView convertRect:fromView класса UIView.   -  person teamnorge    schedule 18.08.2015
comment
@teamnorge круто! мне очень помогает. если вы предложите ответ - я применю его как можно скорее! спасибо!   -  person Spencer_Reid    schedule 18.08.2015


Ответы (1)


Я пытался ответить @teamnorge. Метод

func convertRect(rect: CGRect, fromView view: UIView?) -> CGRect

у меня все работало. Это все.

person Spencer_Reid    schedule 21.08.2015