本文整理汇总了C#中UIViewController.BeginInvokeOnMainThread方法的典型用法代码示例。如果您正苦于以下问题:C# UIViewController.BeginInvokeOnMainThread方法的具体用法?C# UIViewController.BeginInvokeOnMainThread怎么用?C# UIViewController.BeginInvokeOnMainThread使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UIViewController
的用法示例。
在下文中一共展示了UIViewController.BeginInvokeOnMainThread方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Initialize
/// <summary>
/// Initialize the binding manager for a view controller.
/// </summary>
/// <param name="bindings">The binding manager for this view.</param>
/// <param name="controller">The view controller for this view.</param>
public static void Initialize (this BindingManager bindings, UIViewController controller)
{
UpdateScheduler.Initialize (a =>
controller.BeginInvokeOnMainThread (new Action(a)));
}
示例2: Login
/// <summary>
/// Starts the login process.
/// </summary>
public void Login(UIViewController parent, bool animate)
{
switch (Config.Network)
{
case SocialNetwork.Facebook:
{
var config = (FacebookConfig)Config;
var authorizor = new FacebookAuthorizationViewController(config.AppID,
#if true // fel
config.Permissions, FbDisplayType.Popup);
#else
config.Permissions, FbDisplayType.Touch);
#endif
authorizor.AccessToken += delegate(string accessToken, DateTime expires) {
try
{
var wc = new System.Net.WebClient();
var result = wc.DownloadData("https://graph.facebook.com/me?access_token="+accessToken);
var stream = new MemoryStream(result);
var jsonArray = (System.Json.JsonObject)System.Json.JsonObject.Load(stream);
string username = jsonArray["name"].ToString().Replace("\"", "");
this.UserId = jsonArray["id"].ToString().Replace("\"", "");
this.AccessToken = accessToken;
this.Username = username;
#if true // fel
this.ExpirationDate = expires;
#endif
parent.BeginInvokeOnMainThread(delegate{
parent.DismissModalViewControllerAnimated(animate);
OnSuccess();
});
}
catch (Exception ex)
{
OnFailure();
}
};
authorizor.Canceled += delegate {
OnFailure();
};
authorizor.AuthorizationFailed += delegate {
OnFailure();
};
parent.BeginInvokeOnMainThread(delegate{
parent.PresentModalViewController(authorizor,animate);
});
}
break;
case SocialNetwork.Twitter:
{
var config = (TwitterConfig)Config;
var authorizor = new TweetStation.OAuthAuthorizer(new TweetStation.OAuthConfig(){
ConsumerKey = config.ConsumerKey,
ConsumerSecret = config.ConsumerSecret,
Callback = config.Callback,
RequestTokenUrl = "https://api.twitter.com/oauth/request_token",
AccessTokenUrl = "https://api.twitter.com/oauth/access_token",
AuthorizeUrl = "https://api.twitter.com/oauth/authorize"
});
parent.BeginInvokeOnMainThread(delegate {
authorizor.AcquireRequestToken();
authorizor.AuthorizeUser(parent,delegate(){
if (authorizor.AccessScreenname != "")
{
this.Username = authorizor.AccessScreenname;
this.AccessToken = authorizor.AccessToken;
this.AccessTokenSecret = authorizor.AccessTokenSecret;
OnSuccess();
}
else
{
OnFailure();
}
});
});
}
break;
}
}