将CGRectMake (x,x,x,x)更改为不同的位置,例如(y,y,y,y)



我使用CGRectMake(x,x,x,x)在我的视图中放置了一个按钮,x是位置和大小。当我使用-(BOOL)shouldAutoRotate旋转视图时…我想把按钮的位置从竖屏模式的中心改为横屏模式的中心。按钮包含用户设置的标签信息,所以我不想为横向方向使用不同的视图。如果他们设置竖直方向的东西旋转到水平方向呢?他们会丢失数据。我的问题是,如何移动之前设置的东西?看看下面的代码,我不想重新分配按钮。谢谢!

// DATE
lblDate = [[UILabel  alloc] initWithFrame:CGRectMake(x, y, width, height)];
lblDate.text = @"Date:";
lblDate.backgroundColor = [UIColor clearColor];
[contentView addSubview:lblDate];

将frame设为一个新的Rect,例如

lblDate.frame = CGRectMake(x,y,width,height);

lblDate.frame = newRect

但是你应该使用自动调整大小标志

在UIView类引用中找到。

框架

框架矩形,它描述视图的位置和大小Superview的坐标系统。

@property(nonatomic) CGRect frame这个矩形定义了视图的大小和位置父视图的坐标系统。你使用布局时的矩形的大小和位置操作视图。设置此属性更改中心点:由中心指定的点属性和边界内的大小相应的矩形。的坐标的矩形总是

警告:如果transform属性是不是恒等变换,是值的值是未定义的

改变框架矩形自动重新显示接收器不调用drawRect:方法。如果你想使用drawRect:方法当帧为矩形时调用更改时,设置contentMode属性UIViewContentModeRedraw。

对此属性的更改可以动画。但是,如果变换属性包含非标识变换坐标系的值属性是未定义的,不应该这样做被修改。在这种情况下,你可以使用中心重新定位视图属性,并使用

相关内容

  • 没有找到相关文章

最新更新