我在网上找到的大多数信息都在处理Xamarin表单,是否可以仅使用Xamarin.iOS在明暗模式之间切换?
我已在我的一个控制器中将这段代码添加到ViewDidLoad方法中,以将其更改为暗模式,但如果有人可以分享一些想法,我不知道如何将其切换回亮模式完成吗?
public override void ViewDidLoad()
{
UILabel fetchDataLabel;
UIView loadingView;
**this.OverrideUserInterfaceStyle = UIUserInterfaceStyle.Dark;**
base.ViewDidLoad();
答案 0 :(得分:0)
您可以覆盖TraitCollectionDidChange
方法来检测OverrideUserInterfaceStyle
的更改,然后在那里更新UI:
public partial class ViewController : UIViewController
{
public ViewController (IntPtr handle) : base (handle)
{
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Perform any additional setup after loading the view, typically from a nib.
this.OverrideUserInterfaceStyle = UIUserInterfaceStyle.Dark;
UIButton myButton = new UIButton(UIButtonType.System);
myButton.Frame = new CGRect(25, 25, 300, 150);
myButton.SetTitle("Change Dark Mode", UIControlState.Normal);
myButton.TouchUpInside += (sender, e) => {
this.OverrideUserInterfaceStyle = UIUserInterfaceStyle.Light;
};
View.Add(myButton);
}
public override void TraitCollectionDidChange(UITraitCollection previousTraitCollection)
{
base.TraitCollectionDidChange(previousTraitCollection);
var UserInterfaceStyle = TraitCollection.UserInterfaceStyle;
//Update your UI here
}
}