Monotouch: How to update a textfield in AppDelegat

2019-04-16 02:46发布

问题:

I have a textfield (created using IB) that has an outlet connected to App Delegate. Accessability is enabled.

I have a class for IAP, where I need to update that textfield. It is not visible from my code.

How do I do this?

回答1:

This is pretty simple to do, you need to do 2 things:

1: Expose the outlet in a public property, inside your appdelegate:

public class AppDelegate : NSObject {
    public UITextField PublicField {
        get {
            return outletName;
        }
    }
}

2: Access your AppDelegate from another class:

public class OtherClass : NSObject {
    public void SomeMethod () {
        var ad = (AppDelegate) UIApplication.SharedApplication.Delegate;

        ad.PublicField.Text = "foo";
    }
}