2011-11-29 85 views

回答

2

這應該讓你開始,你可能需要稍微調整一下圖像框架以使它相對於背景圖像正確。

public class FooAlertView : UIAlertView 
{ 
    UIImageView imageView; 

    public FooAlertView() 
    { 
     this.Title = "Alert!"; 
     this.Message = "Puppies are cute..."; 
     AddButton("OK!"); 
     imageView = new UIImageView(UIImage.FromFile("Images/popover/popoverBg.png")); 
    } 

    public override void Draw(RectangleF rect) 
    { 
     base.Draw(rect); 

     foreach(var uiview in this.Subviews) { 
      if(uiview.GetType() == typeof(UIImageView)) { 

       uiview.RemoveFromSuperview(); 

       this.AddSubview(imageView); 
       this.SendSubviewToBack(imageView); 
      } 
     } 
    } 
} 
+0

有什麼問題......它顯示圖片,但它是在藍色框架後面。我需要改變那個框架的背景 – Agzam

+0

不...不是背景,更好說色調。我想保留漂亮的圓角和美麗的邊框的漂亮的半透明框架。我只是需要改變顏色 – Agzam

+2

可憐的傢伙,我不想今天給你更多壞消息,但透明度,圓角和美麗的邊界只是蘋果在UIButton和幾個UILabels背後的一個平面圖像。我編輯了答案以反映你的用例。 – Anuj

0

不需要添加新的子視圖與圖像。您可以在圖像視圖中替換現有的圖像。

public override void Draw(RectangleF rect) 
    { 
     base.Draw(rect); 
     foreach (var uiview in this.Subviews) 
     { 
      if (uiview.GetType() == typeof(UIImageView)) 
      { 
       UIImageView imageView = uiview as UIImageView; 
       if (imageView != null) imageView.Image = UIImage.FromFile("Images/header.png"); 

      } 
     } 
    }