矩陣元素.m34負責透視。這在文檔中沒有討論太多,所以你必須玩弄它。這樣的回答談到如何使用它一點點:https://stackoverflow.com/a/7596326/1228525
要真正看到矩陣,你需要做兩件事情的影響: 1.應用該投影矩陣父視圖的子變換 2.旋轉子視圖(您想要透視的視圖) - 否則它將保持平坦,您將無法告訴它現在具有3D透視圖。
的數字是任意的,讓他們無論看起來最好:
CATransform3D t = CATransform3DIdentity;
t.m34 = .005;
parentView.layer.sublayerTransform. = t;
childview.layer.transform = CATransform3DMakeRotation(45,1,0,0);
透視將根據那裏的孩子是在父視圖看起來不同。如果孩子處於父母的中心,那麼就像你直接在3D中查看孩子視圖一樣。離中心越遠,它就會越像你從一個掃視角度看到的那樣。
這是我得到使用上面的代碼和定心子視圖:(顯然我不能,因爲我是新來張貼圖片,所以你必須要看到的鏈接)http://i.stack.imgur.com/BiYCS.png
根據這些圖片很難說出你要做什麼。如果我的答案不是你想要的,多一點解釋可能會有所幫助。從圖片中我可以看出,最下面的一張不是透視圖...
你的意思是'CATransfrom3DMakeRotation(45/180 * 2 * 3.1416,1,0,0)'?第一個參數的值應該是弧度。 – ZhangChn 2012-03-31 07:03:54
沒有。正如我所說的那樣,這些數字是隨意的,讓他們隨心所欲。 – Hooper 2012-03-31 19:39:09