【问题标题】:CGRectMake CoordinatesCGRectMake 坐标
【发布时间】:2013-12-08 05:11:48
【问题描述】:

我遇到了一个奇怪的问题,我用于 CGRectMake 函数的坐标似乎不正确。例如:

CGRect screenR = [[UIScreen mainScreen]bounds];
sWidth = screenR.size.width;
sHeight = screenR.size.height;
button.frame = CGRectMake(sWidth-50, sHeight-50, 50, 50);

这会将我的按钮大小调整为 50x50,并将其水平放置正确,但按钮垂直显示在屏幕中间。我不知道是什么导致垂直坐标显示不正确。请帮忙。

【问题讨论】:

  • 将按钮添加到视图的代码在哪里?您是否使用任何类型的自动布局?按钮是子视图的一部分吗?等等……
  • 您想在哪里准确显示按钮?
  • 不使用自动布局,我在情节提要中添加按钮并以编程方式移动它。我想要右下角的按钮。
  • 这是因为核心图形和UI Kit的坐标不同吗? developer.apple.com/library/ios/documentation/2ddrawing/…
  • @user2303367 我不知道你为什么要去[UIScreen mainScreen]。我总是会转到按钮超级视图的bounds(因为您不希望屏幕偏移,而是在特定视图内偏移)。

标签: objective-c uikit cgrectmake


【解决方案1】:

我发现问题在于在“viewDidLoad”中包含该代码。显然,在该视图出现并导致我在上面描述的奇怪行为之前,视图的坐标并未完全初始化。将代码放在“viewDidAppear”中解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 2011-02-18
    • 1970-01-01
    相关资源
    最近更新 更多