2012-08-15 47 views
0

有沒有方法可以更改UIImageView對象被繪製的「圖層」?每當我向視圖控制器添加圖像視圖時,它默認將最近添加的視圖添加到所有其他視圖控制器之上。所以,如果我決定添加一個「背景」圖像,它現在是一個「前景」圖像,並阻止其他一切。更改圖像層

在IB選項或UIImageView類引用中沒有任何內容,我在這裏沒有找到任何東西。這一直是一個問題,奇怪的是我之前沒有看到任何關於它的東西......我認爲這可能只是我的語義來自delphi背景。

無論如何,有沒有人知道這個問題/ ICANHAZTEHCODEZ來解決它?或者,這就像UIScrollView問題,並且得不到開發環境的支持。 Y U NO WORK

當我嘗試使用編輯器來排列子視圖時,會發生這種情況。

+0

我不再運行博客,如果您遇到問題,請與H2CO3交談。 – Dustin 2012-11-08 23:47:25

回答

2

你可以把一個子視圖到前面或發送後臺編程方式使用

[self.view bringSubviewToFront:yourImageView]; 

[self.view sendSubviewToBack:yourImageView]; 

self.view一定是你的ImageView的上海華

在IB,選擇UIControl並從頂部菜單欄中選擇Editor-> arrage->發送至正面或背面

+0

感謝您的提示...由於某種原因,我的發送選項變灰。我可能不得不將圖像添加到頭文件,然後調用'bringSubviewToFront'。 – Dustin 2012-08-15 16:26:53

+0

您必須先在您的IB中選擇視圖。否則,它們會變灰。 – tGilani 2012-08-15 16:28:04

+0

是的,我選擇了它,但是當我查找幫助文檔時,它說xcode的新版本有時會隨機執行此操作。無論如何,設法解決它與你的幫助和http://stackoverflow.com/questions/3378234/xcode-4-how-to-send-objects-in-nib-files-to-front-back – Dustin 2012-08-15 16:29:31

1

當您使用UIViewaddSubview:方法時,它會將其添加到視圖堆棧的頂部,從而導致您看到的內容。

有許多其他UIView方法可用於確定子視圖的順序。例如:

- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview; 

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index; 

- (void)sendSubviewToBack:(UIView *)view; 

- (void)bringSubviewToFront:(UIView *)view;