45
UIView
は、CALayer
を有する。それはかなり確かです。しかし、どちらも同じことを意味するものを提供しているようです。UIViewのclipsToBoundsとCALayerのmasksToBoundsの関係はどうですか?
clipsToBounds=YES
と設定した場合は、レイヤーのmasksToBounds=YES
も設定されますか?なぜ異なる名前ですか?誰でも知っていますか?
UIView
は、CALayer
を有する。それはかなり確かです。しかし、どちらも同じことを意味するものを提供しているようです。UIViewのclipsToBoundsとCALayerのmasksToBoundsの関係はどうですか?
clipsToBounds=YES
と設定した場合は、レイヤーのmasksToBounds=YES
も設定されますか?なぜ異なる名前ですか?誰でも知っていますか?
UIView
とCALayer
は異なる名前であり、それぞれ異なる用語が使用されていますが、機能的に同等です。あなたが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
すごい、印象的!あなたはどのようにこの詳細に到達しますか?ビルド時にxcodeで行うことができますか、何が起こっているかを確認するためのツールが必要ですか? – Thanks
私は開発ツールの一部であるotoolを使用しています。私がたくさんのコードを歩いていると、otxを使って、私のためのすべてのセレクタールックアップを含む完全なアセンブリリストを生成する傾向があります。 –
あなたはそれを見て、本当に単にmasksToBoundsを呼び出すことができますか? – Macmee