如何使用计时器禁用UIButton

时间:2018-08-17 17:31:18

标签: xamarin xamarin.ios uibutton

我想让按钮禁用10秒钟,然后再让用户单击按钮。知道怎么做吗?

下面附上按钮的方法:

partial void CheckOutBtn_TouchUpInside(UIButton sender)
    {
        if(condition)
        CheckOutBtn.Hidden = true;
        else
            new UIAlertView("Great Job!", "You had checked out.", null, "OK", null).Show();
    }

1 个答案:

答案 0 :(得分:1)

  

当用户进入页面时,“检出”按钮将被禁用10秒钟,此后仅出现并让用户单击它。

您说的是“禁用”和“出现”,这是两种不同的说法,但是您可以在延迟后使用GCD执行一段代码。

在ViewController的ViewDidLoad()覆盖中类似的操作将使您入门:

~~~
//? button.Hidden = true;
button.Enabled =  false;

var delay = new DispatchTime(DispatchTime.Now, TimeSpan.FromSeconds(10));
DispatchQueue.MainQueue.DispatchAfter(delay, () =>
{
    button.Enabled = true;
    //? button.Hidden = false;
});

button.TouchUpInside += (object sender, EventArgs e) =>
{
    // perform some action... 
};
~~~