Wenn ich die Hintergrundfarbe MonoTouch.Dialog auf uiclear (transparent) setze, wird eine Ausnahme ausgelöst, warum? und wie man es auf transparent setzt.So stellen Sie den Hintergrund auf einem DialogViewController transparent ein
Unbehandelte Ausnahme: System.NullReferenceException: Objektverweis nicht auf eine Instanz eines Objekts MyDialogViewController.LoadView gesetzt() [0x00016] in MyDialogViewController.cs: ParentViewController.View.BackgroundColor = UIColor.Clear
public class MyDialogViewController: DialogViewController
{
public MyDialogViewController (RootElement root) : base (root)
{
}
public override void LoadView()
{
base.LoadView();
this.TableView.BackgroundColor = UIColor.Clear;
ParentViewController.View.BackgroundColor = UIColor.Clear;
}
}
public void xxxxx(){
var menu = new RootElement(""){
new Section ("Demo"){
new EntryElement("Name", "",""),
},
};
var menuDVC = new MyDialogViewController (menu) {
Autorotate = true
};
this.View.AddSubview(menuDVC.View);
}
danke Ihre Antwort. Bevor ich den MyDiaogViewController (MT.D) anzeige, habe ich die aktuelle UIView auf UIClear gesetzt, und auch mtd.view.backgroudcolor & mtd.tableview.backgroundcolor auf uiclear (opaque = false) gesetzt, dann füge mtd.view der Datei hinzu aktuelle Ansicht (this.view.addsubview (mtd.view), aber die Mtd-Region ist immer noch grau, ich möchte mit transparent anzeigen. Es ist seltsam. – BlueSky
menuDVC (es ist MT.D View-Controller) menuDVC.View.Frame = new RectangleF (20,90,300,550); \t \t \t menuDVC.View.BackgroundColor = UIColor.Clear; \t \t \t menuDVC.View.Opaque = false; \t \t \t menuDVC.TableView.BackgroundColor = UIColor.Clear; \t \t \t \t menuDVC.TableView.Opaque = false; \t \t \t this.View.AddSubview (menuDVC.View); – BlueSky
Froh, dass du es bekommen hast :) – poupou