Позиция видео TokBox

Я делаю приложение для iOS, используя xcode 6 и swift. Я использую TokBox для живого видеочата. Пока все работает нормально. Моя единственная проблема - это положение камеры. Я попытался поместить представление в контейнер представления, но это, похоже, не решает моих проблем. Прямо сейчас я жестко запрограммировал положение камеры, чтобы оно соответствовало iPhone 4. Есть ли способ поместить ее в контейнер, а затем использовать авторазметку?

func PublishToSession()
{
    Publisher = OTPublisher(delegate: self)

    var Error : OTError?

    Session?.publish(Publisher, error: &Error)

    if let error = Error
    {
    //Some message
    }

    view.addSubview(Publisher!.view)

    Publisher!.view.frame = CGRect(x: 0, y: PubVideoHeight, width: PubVideoWidth, height: PubVideoHeight)
}

person Loc Dai Le    schedule 10.08.2015    source источник
comment
Откуда вы взяли Swift SDK?   -  person rocket101    schedule 26.08.2015


Ответы (1)


Вы должны иметь возможность разместить представление издателя внутри своего собственного пользовательского представления. Затем ваш пользовательский код представления должен будет обрабатывать все проблемы AutoLayout и динамически изменять размер внутреннего представления самостоятельно.

Это руководство (не связанное с OpenTok, но показывающее, как написать пользовательское представление, поддерживающее AutoLayout) может быть полезным: https://tech.coursera.org/blog/2014/10/29/writing-a.-custom-control-ios-8/ .

person Ankur    schedule 10.08.2015
comment
Спасибо за ваш ответ @Ankur, но почему я не могу просто перетащить UIVIEW в свою раскадровку и использовать его? - нужно ли делать индивидуальный? - person Loc Dai Le; 10.08.2015
comment
средство визуализации по умолчанию в настоящее время не реализует более новый API UIView, который включает функции AutoLayout. В общем, представления по умолчанию должны быть легкими. Я понимаю, что вы надеетесь на более нестандартный опыт, и я передам эту обратную связь команде. - person Ankur; 13.08.2015
comment
@LocDaiLe причина в том, что экземпляр OTVideoRender по умолчанию (tokbox.com/developer /sdks/ios/reference/Protocols/), который является подклассом UIView, экземпляр которого создается объектами OTSubscriber и OTPublisher, не реализует методы Auto Layout. Другой вариант — использовать OTPublisherKit и OTSubscriberKit (нижний уровень API) и предоставить собственный экземпляр OTVideoRender, который обрабатывает Auto Layout. Я принял к сведению ваш внутренний отзыв. - person Ankur; 20.08.2015
comment
@Ankur Есть ли официальный Swift SDK для видеозвонков? - person rocket101; 26.08.2015
comment
@ rocket101, нет, но SDK на основе ObjC, по моему опыту, работает так же хорошо, как и Swift :) - person Ankur; 08.09.2015