2011-11-15 40 views
7

Tôi có một màn hình được gọi là Màn hình chính thực hiện UIViewController. Tôi muốn sử dụng hình nền cho màn hình này. Có một sự kiện mà tôi có thể ghi đè để thiết lập hình nền này trong tệp HomeScreen.cs không?Đặt hình nền trong UIViewController (MonoTouch)

+2

UIViewController doesnt khá có thành viên/Hình ảnh BackgroundView, bạn phải tạo một UImageView và sau đó addSubview trùng lặp: http: // stackoverflow.com/questions/2991040/uiviewcontroller-with-background-image – Anuj

+0

Cảm ơn. Tuy nhiên, đây không phải là một sự lừa đảo, vì câu hỏi của tôi liên quan đến MonoTouch. –

+0

Tuy nhiên, nếu bạn có thể hiển thị gợi ý của bạn trong MonoTouch, tôi rất muốn nhìn thấy nó. Có vẻ như đó là đặt cược tốt nhất của tôi. Cảm ơn! –

Trả lời

13

thử thiết lập BackgroundColor của bạn Xem

myview.BackgroundColor = UIColor.FromPatternImage(UIImage.FromFile("myimage.png")); 
+1

có cách nào để biến tỷ lệ hình ảnh thành kích thước chế độ xem và vẫn sử dụng nó làm màu nền không? – nhenrique

+0

@nhenrique Tôi tự hỏi điều này là tốt, bạn đã tìm thấy một giải pháp? –

+0

@nhenrique Tôi đã thêm [câu trả lời mới] (https://stackoverflow.com/a/47618726/4332059) cho câu hỏi của bạn –

1

Hãy thử thêm một cái gì đó như sau để MyViewNameViewController.cs của bạn:

public override void ViewDidLoad() 
{ 
    base.ViewDidLoad(); 
    this.View.BackgroundColor = UIColor.FromPatternImage(UIImage.FromFile("splash.png")); 
} 
0

Tôi đã bỏ phiếu cho các câu trả lời khác, tuy nhiên hiện nay IPhone có khác nhau kích thước và cách chính xác để tải hình ảnh đang sử dụng phương pháp UIImage.FromBundle:

Đây là danh mục khẳng định trong dự án:

enter image description here

Quản lý hình ảnh:

enter image description here

public override void ViewDidLoad() 
{ 
    base.ViewDidLoad(); 

    // replace "name" with the desired name in the asset catalog 
    this.View.BackgroundColor = UIColor.FromPatternImage(UIImage.FromBundle("name")); 

} 
Các vấn đề liên quan