Это разные имена, потому что UIView
и CALayer
отличаются друг от друга и имеют терминологию, связанную с ними, но они функционально эквивалентны. Если разобрать clipsToBounds
вы увидите, он просто вызывает masksToBounds
(disassmebly из рамок тренажера, так x86):
-(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