2012-04-26 77 views
2

我正在研究一些繪圖代碼。我有那部分工作很好。Draw Over Image

我想畫過的圖像,但我想還是能夠看到圖像的細節,黑線等

什麼我的工作是使持有該透明的UIImageView圖片。

雖然我不確定如何正確設置此設置。

是否應該將這個顏色添加到其他UIImageView之上,我在其上或下面着色?

這是我到目前爲止有:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    topImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 46, 320, 370)]; 
    [topImageView setImage:[UIImage imageNamed:@"imagesmall.png"]]; 
    topImageView.alpha = 1.0; 
    topImageView.layer.opacity = 1.0; 
    topImageView.layer.opaque = NO; 
    [self.view addSubview:topImageView]; 
    [topImageView release]; 
} 

思考的人?

回答

1

是的,您可以繪製其他視圖的視圖。它們按照子視圖添加的順序繪製,除非在此之後重新排序。

您可能需要爲某些視圖設置opaque屬性(這不同於並覆蓋其圖層不透明度),並將它們的backgroundColor設置爲nilUIImageView默認情況下似乎是透明的,只要它的圖像是;其他一些UIView子類不是。

那麼,你的覆蓋是什麼?如果你只需要顯示一個圖像而不是另一個,那麼你在這裏看到的東西似乎已經工作了。如果需要以編程方式繪製一些行,則需要執行此操作:

  1. 創建UIView的子類。
  2. 實施其drawRect方法來顯示您需要的內容。
  3. 當您將自定義視圖添加到背景圖片的頂部時,請確保它不是opaque並且沒有backgroundColor

這裏的一個常見問題是發現你的前景正在工作,但背景未被正確加載。爲確保背景存在,請將前景視圖的alpha設置爲0.5。您不希望在生產中這樣做,但它可以讓您驗證這兩個視圖是否存在。