【问题标题】:CGPoint Local To Global IssueCGPoint 本地到全球问题
【发布时间】:2012-04-09 10:41:56
【问题描述】:

我在 Objective C ViewController 基础应用程序中遇到了本地到全局点问题

我有一个 ScrollView 作为 ViewController 的子视图,它一次有大约 13 到 15 个 UIButtons 作为子视图,在 ScrollView 的视图中只有 3 个 UIButton。

我想要的是获取 UIButton 的 CGPoint(Global),它是 ScrollView 的子视图,但不是 ScrollView 内的本地 CGpoint。

有没有办法将本地 CGPoint 转换为全局 CGPoint。

谢谢盖兹 KK

【问题讨论】:

    标签: iphone objective-c uiviewcontroller uiscrollview cgpoint


    【解决方案1】:

    假设你有一个UIButton myButton,试试:

    CGPoint globalPoint = [[[UIApplication sharedApplication] keyWindow] convertPoint:CGPointZero fromView:myButton];

    然后转换回来

    CGPoint localPoint = [myButton convertPoint:globalPoint fromView:[[UIApplication sharedApplication] keyWindow]];

    【讨论】:

    • 谢谢老兄这是我要找的东西
    • amleszk 给了我完美的提示,下面的行是神奇的 CGPoint globalPoint = [self.view convertPoint:CGPointZero fromView:myButton];这给了我完美的结果 Thx man
    【解决方案2】:

    但不只是添加包含对象的坐标吗?实际上如果你有一个位于的视图

    x: 10 y: 10: w: 100 h: 100
    

    在另一个有风景的地方

    x: 10 y: 10 w: 20 h: 20
    

    第二个的中心是:(20,20),而x和y之和得到全局中心是(30.30)

    【讨论】:

    • amleszk 给了我完美的提示,下面的行是神奇的 CGPoint globalPoint = [self.view convertPoint:CGPointZero fromView:myButton];这给了我完美的结果 Thx man
    猜你喜欢
    • 2014-07-26
    • 2011-04-26
    • 2017-03-18
    • 2011-08-01
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多