rob*_*off 11
如果您没有使用自动布局,则可以通过设置其中心在代码中放置标签(或任何视图).因此,如果您知道标签右下角的位置,则可以减去标签宽度和高度的一半来计算其中心的位置:
CGPoint lowerRight = somePoint;
CGRect frame = label.frame;
label.center = CGPointMake(lowerRight.x - frame.size.width / 2,
lowerRight.y - frame.size.height / 2);
Run Code Online (Sandbox Code Playgroud)
我建议你这样做.
但如果你愿意,你可以转到更低的水平.每个视图都有一个Core Animation层,它实际上管理着视图的屏幕外观.该图层具有一个anchorPoint属性,默认情况下为(0.5,0.5),表示图层的中心.您可以将anchorPoint右下角设置为(1,1):
label.layer.anchorPoint = CGPointMake(1, 1);
Run Code Online (Sandbox Code Playgroud)
现在标签了 center实际上控制了它右下角的位置,所以你可以直接设置它:
label.center = somePoint; // actually sets the lower right corner
Run Code Online (Sandbox Code Playgroud)
您需要将QuartzCore框架添加到目标并导入<QuartzCore/QuartzCore.h>以修改anchorPoint属性.