iPad autoresizingMask 创建底边距

标签 ipad ios

LiveStreamTable=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, 768, 960)];
LiveStreamTable.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:LiveStreamTable];

此代码在 viewDidLoad 中。在 viewDidLoad 和 viewWillAppear 之间,表格被调整为 916 高度,在底部留下 44 个空像素(这是在纵向模式下)。我知道它介于打印调试信息之间。

该 View 在顶部有一个状态栏和一个导航栏,因此 960 应该正好填满整个屏幕。它与注释掉的 autoresizingMask 行一起使用。我只希望 autoresizingMask 在 iPad 旋转时影响它,以便横向模式工作。

我也有一个问题,如果我首先进入横向屏幕,那么它的大小就会错误。它最终有点太宽太短。我认为这是相关的。

我如何正确使用 autoresizingMask 以便我的表格在纵向和横向中占据整个 View (状态栏和导航栏除外)?

最佳答案

您的自动调整掩码是正确的,但您初始化框架的方式不正确。

考虑如果这个 View 是横向打开的,frame (0, 0, 768, 960) 会产生错误的帧。

代替

LiveStreamTable=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, 768, 960)];

你应该试试

LiveStreamTable=[[UITableView alloc]initWithFrame:self.view.bounds];

这将根据您当前的 ViewController View 初始化框架。

希望对您有所帮助。

关于iPad autoresizingMask 创建底边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4630438/

相关文章:

ios - 绘制不同线宽的曲线

objective-c - iPad:[UIScreen mainScreen].bounds 返回错误的坐标

css - 在 ipad 中渲染 html 按钮

ios - 我在哪里可以获得用于设计逼真的静态模型的 iOS UI 元素模板(图形)?

ios - iPad 用户界面设计选项

ios - 无法让 UICollectionView 显示单元格

ios - CLLocationManager 不在 iOS 10.2 [Swift] 中调用 didUpdateLocation()

ios - 从 NSString 警告分配 NSMutableString

iOS - 自定义segue内存泄漏

ios - 如何使用关联类型协议(protocol)作为函数的参数类型?