Вызов метода UIKit из привязки Xamarin

У меня есть рекламная привязка SDK для моего проекта Xamarin. Привязка находится здесь: https://github.com/bbhsu2/XamarinAdMarvelBinding

Моя проблема исходит из метода:

[Export("adMarvelViewFrame")]
RectangleF AdMarvelViewFrame();

в моем классе я реализую это так:

[Export("adMarvelViewFrame")]
public RectangleF AdMarvelViewFrame()
{
    return new RectangleF(0.0f, 0.0f, UIScreen.MainScreen.Bounds.Width, 250.0f);
}

однако, когда представление загружается, я получаю сообщение об ошибке:

UIKit Consistency error: you are calling a UIKit method that can only be invoked from the UI thread.

Я (думаю) понимаю, что означает эта ошибка, но как мне вызвать ее в основном потоке, когда она вызывается в другом месте собственным кодом?


person BBH1023    schedule 13.11.2014    source источник


Ответы (1)


Метод UIKIt, который вы вызываете, называется UIScreen.MainScreen.

Простое решение состоит в том, чтобы предварительно получить UIScreen.MainScreen в переменной класса и использовать переменную класса в вашем AdMarvelViewFrame.

person Rolf Bjarne Kvinge    schedule 13.11.2014