1. BlackWolf's Avatar
    hi (once again),
    Sorry to bother you all again, but once more there is something I tried to figure out for a couple of hours but I can't really get behind.
    My Situation: I have an application with a UIWindow (naturally) and a toolbar which contains a UIView and two NavigationControllers.

    however, because of my constant problems positioning stuff where I want them, I played around a little and while I did this, I discovered some strange things.
    I printed out some frame and center values from numerous views and they seem ... really strange. So strange, that I think I misunderstood something really fundamental about frame/center/bounds.

    First of all the return value of my UIWindow itself:
    The origin is at {160,40} and the size is {200,40} while the center lies at {160,40}

    that's the first strange thing? first of all: why does my Window start at 160,40. Shouldn't it start at 0,20 when I initialized with the frame [UIScreen mainScreen].bounds ?
    And how can it be possible in any way that the center point is the same point as the origin? I mean ... the center should be, well, in the center of the view, shouldn't it? but considering origin and size that would be {260,60} wouldn't it?

    Next thing: my UIView (the one not controlled by a NavigationController). it returns {0,20} as its origin, {320,460} as its size and {160,250} as the center.
    what I don't understand here is the center. origin and size seem to be fine, and the x-value of my center-point as well, but shouldn the y-value of my center point be 220?

    so I think I missed something basic here, and since I need to understand those values in order to position my window content correctly, it would be super if someone could explain these strange values to me.

    thanks
    blackwolf
    2008-03-20 03:53 AM
  2. cazlar's Avatar
    Not sure on the first bit, but the second is 460/2 = 230 + the 20 (for the statusbar probably?) = 250. The 460 is a size, not the coordinates of the end point (so in other words not 460-20 /2 =220). Hope that makes sense.
    Last edited by cazlar; 2008-03-20 at 07:32 AM.
    2008-03-20 07:30 AM
  3. BlackWolf's Avatar
    Not sure on the first bit, but the second is 460/2 = 230 + the 20 (for the statusbar probably?) = 250. The 460 is a size, not the coordinates of the end point (so in other words not 460-20 /2 =220). Hope that makes sense.
    first of all: thanks yor replying.
    secondly, you are (of course) right about the UIView. seems I was a little confused when I wrote that

    still, I wonder about the coordinates of the window. I guess it has something to do with frame and center being in the superviews coordinate system, but a window does not have a superview ... maybe that's the reason?

    actually, all I wanted to try is to get the exact center of the window to position something exactly there. I didn't want to do it with the UIView because then I would have to consider statusbar and maybe other stuff, window just seemed easier to me. But maybe that's just not possible.

    thanks for your answer anyway, not I can at least use the UIView
    2008-03-20 01:12 PM
LINK TO POST COPIED TO CLIPBOARD