2009-08-12 30 views
11

Điều cuối cùng tôi muốn làm là cuộn cuộn nội dung cuộn (trong điều khiển chế độ xem cuộn) và có nền tĩnh (hình nền).Làm cách nào để đặt nền của UIScrollView trở nên trong suốt?

Tôi đã thử kết hợp mọi thứ, không có thứ nào thực sự mang lại những gì bạn đang tìm kiếm, thậm chí không thực sự gần gũi.

Có ai đã thử điều này trước đây không?

Trả lời

2

Sau một googleing nhanh chóng tôi thấy hai liên kết sẽ giúp bạn:

Google Groups discussion on this question
Blog post on how to do this.

+0

hmm. im hơi nghi ngờ điều này sẽ làm việc. nhưng cảm ơn, bệnh thấy nếu tôi tìm thấy thành công. –

+0

Ok. nên chắc chắn một UIScrollView minh bạch là chắc chắn. Có vẻ như nội dung của người xem cuộn của tôi là những gì làm cho nó KHÔNG mờ. Làm thế nào tôi có thể làm cho nội dung (một UIView) được minh bạch? –

+2

Ok. nó chỉ đơn giản là thiết lập nội dung của UIView self.backgroundColor = [UIColor clearColor]. đó là một thời gian dài sửa chữa một lỗi rất đơn giản. –

9

Đối với những người không có câu trả lời rõ ràng cho điều này. Nó đi:

đặt hình giả tưởng vào màn hình chính và đặt nó thành hình nền mong muốn hoặc đặt màu nền của nó làm mẫu, sau đó trong chế độ xem này, hãy đặt scrollview và đặt nền thành trong suốt.

Sau đó, bạn sẽ có được hiệu ứng mong muốn như với Safari trên iPad chẳng hạn như cuộn trang.

Đây là mã cho Monotouch, nhưng rất dễ hiểu.

this.View.BackgroundColor = UIColor.FromPatternImage (UIImage.FromFile ("Images/About-bg0.jpg")); 
scrollView = new UIScrollView (new RectangleF (0, 0, 320, 450)); 
     scrollView.ContentSize = new SizeF (320, 640 + 508 + 1000); 
     //scrollView.BackgroundColor = UIColor.FromPatternImage (UIImage.FromFile ("Images/About-bg0.jpg")); 
     scrollView.BackgroundColor = UIColor.Clear; 
+1

self.oneColumnScrollView.backgroundColor = [UIColor clearColor]; Công trình tuyệt vời cho tôi! Cảm ơn Pavel. –

17

này thực sự là rất dễ dàng, một UIScrollView kế thừa từ một UIView vì vậy bạn chỉ cần đặt backgroundColor tài sản:

aScrollView.backgroundColor = [UIColor clearColor]; 

Dòng trên mã đặt nền trong suốt để bạn có thể nhìn thấy thông qua bất cứ điều gì bạn muốn đặt phía sau. Cũng lưu ý rằng bạn nên làm tương tự với các khung nhìn con mà bạn đặt bên trong khung nhìn cuộn - những khung nhìn đó cũng phải có màu nền trong suốt.

Nếu bạn muốn có hình ảnh tĩnh, hãy sử dụng mẫu như trong dòng mã bên dưới. Đây có thể là hình ảnh kết cấu nhỏ hơn màn hình sẽ được lặp lại/lát hoặc hình ảnh toàn màn hình để bạn không thấy bất kỳ lặp lại nào.

aScrollView.backgroundColor = [UIColor colorWithPatternImage:anImage]; 
+0

Xem xét kỹ thuật này dễ dàng như thế nào, tôi nghĩ nó phải là iOS 4+ hoặc thậm chí iOS 5+. Ai có thể xác nhận? –

+0

tính năng này không hoạt động –

+3

Các chế độ xem mà bạn đặt bên trong chế độ xem cuộn cũng cần phải có màu nền rõ ràng. – jhabbott

2

Bạn đã cố gắng này,

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"content.png"]]; 
1

một này làm việc cho tôi ...

self.scrollView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tileableImage.png"]]; 
Các vấn đề liên quan