Objective c Xcode:将UIView高度和宽度设置为SuperView(主视图)高度和宽度的一半

Objective c Xcode:将UIView高度和宽度设置为SuperView(主视图)高度和宽度的一半,objective-c,uiview,Objective C,Uiview,我有一个名为CalendarUIView的UIView。我把它放在一个名为MainHubViewController的视图控制器中。我想使CalendarUIView的高度和宽度为父级MainHubViewController高度和宽度的一半。例如,MainHubViewController的尺寸是400 x 500。然后我希望CalendarUIVIew的尺寸是200 x 250 我将其放入viewdidload方法中,但它不起作用: self.CalendarUIView.bounds.si

我有一个名为CalendarUIView的UIView。我把它放在一个名为MainHubViewController的视图控制器中。我想使CalendarUIView的高度和宽度为父级MainHubViewController高度和宽度的一半。例如,MainHubViewController的尺寸是400 x 500。然后我希望CalendarUIVIew的尺寸是200 x 250

我将其放入viewdidload方法中,但它不起作用:

self.CalendarUIView.bounds.size.height = self.view.bounds.size.height / 2.0f;
有什么解决办法吗?
感谢您更改框架,您可以这样做

view.frame.size = CGSize(width: someW, height: someH)
但是,您将保持相同的原点,因此将偏离中心

因此,或者更改中心点,使用.center使视图与superview匹配。或者使用CGRect从一开始设置帧


抱歉,这是一个很快的想法,你应该使用CGSizeMake

self.CalendarUIView.frame.size = CGSizeMake(your width, your height);

这应该给你一个想法

//Get the parent size
CGRect *containerFrame = self.MainHubViewController.frame;
float height = containerFrame.size.height;
float width = containerFrame.size.width;


CGRect newFrame = self.CalendarUIView.frame;
newFrame.size = CGSizeMake(width / 2, height / 2);

self.CalendarUIView.frame = newFrame;

奇怪的是,当我实现您的方法时,Xcode抛出了一个错误:表达式不可赋值: