stackoverflow中关于此主题的问题很少。但是没有一个解决方案适合我。
当用户点击表格视图的行时,我需要显示弹出窗口。同样,此弹出窗口应包含tableView
。由于Apple建议不在alertView中使用tableView
,因此,我需要使用较小的普通UIView
。
UIView
是使用storyboard
绘制的。
以编程方式我正在尝试使用代码来减小大小。
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect newFrame = self.view.frame;
newFrame.size.width = 200;
newFrame.size.height = 200;
[self.view setFrame:newFrame];
}
但它不起作用。
答案 0 :(得分:14)
CGRect不仅是宽度和高度,还有x和y。 所以这样做:
CGRect newFrame = CGRectMake( self.view.frame.origin.x, self.view.frame.origin.y, 200, 200);
self.view.frame = newFrame;
这只会影响宽度和高度。
答案 1 :(得分:0)
您尝试修改的视图可能是通过Storyboard附加到UIViewController
的视图,您将无法修改该视图,尝试使用Storyboard或以编程方式创建另一个视图。
答案 2 :(得分:0)
由于您需要显示弹出窗口,我建议您使用 iPAD ,然后继续使用UIPopoverController,如果 iPhone ,则只需创建一个新的全屏UIView具有透明背景(清晰背景),然后再创建一个带有新框架的UIView,并确保框架大小在中间并附加它(添加子视图)。
此外,您正在执行的操作无法正常工作。创建新的UIView并更改框架,然后将subView附加或添加到主视图
这将解决您的问题。
答案 3 :(得分:-1)
我认为你正在寻找带有tableView的UIPopOverController ..
参考本教程