ios - 如何设置 UIView 的来源引用?

标签 ios xcode cocoa uiview

我正在创建一个 UIImageView 并将其循环添加到我的 View 中,我将初始帧设置为 0,0,1,47,循环的每个段落我都会更改 ImageView 的中心以将它们隔开。

我总是使用 0 作为 origin.y

问题是原点引用位于 ImageView 的中心,假设我们在界面构建器中,这相当于下图。

如何更改代码中的引用点?

enter image description here

最佳答案

阅读这些答案和您的评论后,我不太确定您的意思是什么。

使用 UIView 可以通过两种方式设置位置:

  • center – 它明确表示它是中心。
  • frame.origin – 左上角,不能直接设置。

如果您希望左下角位于 x=300,y=300,您可以这样做:

UIView *view = ...
CGRect frame = view.frame;
frame.origin.x = 300 - frame.size.width;
frame.origin.y = 300 - frame.size.height;
view.frame = frame;

但是如果你更深入到 CALayers 的神奇世界(不要忘记导入 QuartzCore),你会更强大。

CALayer 有这些:

  • position – 你看,它没有明确表示“中心”,所以它可能不是中心!
  • anchorPointCGPoint 的值在 0..1(包括)范围内,指定 View 内部的点。默认值为 x=0.5,y=0.5,表示“中心”(并且 -[UIView center] 假定此值)。您可以将其设置为任何其他值,position 属性将应用于该点。

示例时间:

  1. 您有一个尺寸为 100x100 的 View
  2. view.layer.anchorPoint = CGPointMake(1, 1);
  3. view.layer.position = CGPointMake(300, 300);
  4. View 的左上角位于 x=200,y=200,右下角位于 x=300,y=300。

注意:当您旋转图层/ View 时,它会围绕 anchorPoint 旋转,默认情况下它是中心。

Bu 因为你只是问HOW 做具体的事情而不是WHAT 你想要实现,我现在不能再帮你了。

关于ios - 如何设置 UIView 的来源引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10012406/

相关文章:

iphone - YouTube ios 提要缩略图

ios - 如何在单个类文件中声明所有 API 调用并调用我们需要用于其他 View Controller 类的任何 API 名称

ios - GTMOAuthViewControllerTouch 和 LinkedIn 注销

测试推送通知的 iOS 最佳实践(UI 测试)

objective-c - 静态库和常量

objective-c - OS X 中的动画 View 大小

ios - "Warning: iPhone apps should include an armv6 architecture"即使设置了构建配置

iphone - 如何调整 rightBarButtonItems 中两个 UIBarButtonItem 之间的间距

objective-c - 将 Popover 添加到 UITableViewCell

cocoa - 实现首选项 NSWindow