2009-07-24 22 views

答えて

96

UIViewCALayerは異なる名前であり、それぞれ異なる用語が使用されていますが、機能的に同等です。あなたがclipsToBoundsを分解した場合、あなたはそれだけで(disassmeblyシミュレーター・フレームワークから、それほどのx86)masksToBoundsを呼び出して表示されます。

-(BOOL)[UIView(Rendering) clipsToBounds] 
    +0 3091938a 55    pushl %ebp 
    +1 3091938b 89e5   movl  %esp,%ebp 
    +3 3091938d e800000000  calll 0x30919392 
    +8 30919392 59    popl  %ecx 
    +9 30919393 8b4508   movl  0x08(%ebp),%eax 
    +12 30919396 8b5004   movl  0x04(%eax),%edx   (CALayer)_layer 
    +15 30919399 8b8186cb1301 movl  0x0113cb86(%ecx),%eax masksToBounds 
    +21 3091939f 89450c   movl  %eax,0x0c(%ebp) 
    +24 309193a2 895508   movl  %edx,0x08(%ebp) 
    +27 309193a5 c9    leave 
    +28 309193a6 e92e211801  jmpl  0x31a9b4d9 
+0

すごい、印象的!あなたはどのようにこの詳細に到達しますか?ビルド時にxcodeで行うことができますか、何が起こっているかを確認するためのツールが必要ですか? – Thanks

+3

私は開発ツールの一部であるotoolを使用しています。私がたくさんのコードを歩いていると、otxを使って、私のためのすべてのセレクタールックアップを含む完全なアセンブリリストを生成する傾向があります。 –

+0

あなたはそれを見て、本当に単にmasksToBoundsを呼び出すことができますか? – Macmee

関連する問題