2011-11-15 36 views

回答

4

UIViews沒有錨點的概念(與CALayers不同)。您可以使用frame屬性或center屬性來定位它們。 Interface Builder僞造錨點並實際將UIView的幀座標存儲在nib文件中。

1

如果你想改變錨,只是#import <QuartzCore/QuartzCore.h>然後設置您的視圖的錨:

[[aView layer] setAnchorPoint:CGPointMake(0.5f, 0.5f)]; 

和下面的鏈接是你可以將層DOC興趣:
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/Layers.html

+0

我剛剛嘗試過這一點,但未能將定位點居中。我在字面上做了你在上面的例子中做了什麼,除了我把'aView'改成了我的UITextField。有任何想法嗎? –

+0

每個UIView都支持CALayer,但如果嘗試混合UIView定位和CALayer定位,則會出現問題。正如你所看到的,事情不會像你期望的那樣行事。最好堅持使用框架或中心屬性進行UIView定位,並適當調整座標。 –

+2

定位點的默認值是(0.5,0.5),它是居中的。我給的文件可以幫助你,而@Robin說的是對的。 :)順便說一句,你想通過集中UITextField的錨點?您可以設置框架(相對於超級視圖)來進行佈局。 – Kjuly

相關問題