开发者

How to position a UIView?

开发者 https://www.devze.com 2023-01-30 03:17 出处:网络
I spent a couple of hours trying to position a UIView and eventually figured out that I needed to modify the views frame. So I added a \'setPosition\' method to the UIViewController subclass like this

I spent a couple of hours trying to position a UIView and eventually figured out that I needed to modify the views frame. So I added a 'setPosition' method to the UIViewController subclass like this

- (void) setPosition:(CGPoint)position
{

    CGRect newFrame = self.view.frame;
    newFrame.origin.x = position.x;
    newFrame.origin.y = position.y;
    self.view.frame = newFrame;

}

However, that seems so simple that 开发者_Go百科I don't understand why UIViews don't have this method already, which makes me think this might not be the right way to do it. So that's my question...

Is this method OK or am I doing something I shouldn't be doing... for some reason?


Copying, Modifying and setting the frame again like you have done here is how this is generally done. This can also be done by creating a rect and setting it directly:

UIView.frame = CGRectMake(50,50,50,50);//x,y,w,h

Doing this in an animation block will animate these changes.

Alternitively you can set a views Center point with :

UIView.center = CGPointMake(50,50);


Other way:

CGPoint position = CGPointMake(100,30);
[self setFrame:(CGRect){.origin = position,.size = self.frame.size}];

This i save size parameters and change origin only.

0

精彩评论

暂无评论...
验证码 换一张
取 消