iphone - 设置 UITableView 的框架不能正常工作

标签 iphone objective-c ios uitableview frame

我有一个 View Controller ,里面有一个 tableView。当我设置它的 tableView 的框架时,它出现在屏幕上与我给它的框架不同的地方。例如,给它一个 200 的 X 坐标和 128 的宽度会使整个东西离开屏幕。

这里是我实例化 View Controller 的地方:

myPopover = [[PopupVC alloc] initWithFrame:CGRectMake(100, 47, 128, 150)];

以及 View Controller 的初始化代码:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
    }
    return self;
}

- (id)initWithFrame:(CGRect)_frame
{
    self = [self initWithNibName:nil bundle:nil];
    if (self)
    {
        frame = _frame;
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view setFrame:frame];
    staticTable = [[UITableView alloc] initWithFrame:frame style:UITableViewStylePlain];
    [self.view addSubview:staticTable];

有人知道为什么会这样吗?记录框架时,它准确说明了我输入的内容,但这显然不是放置在 View 上的框架。作为另一个测试,我做了一个完全相同的尺寸 View ,清楚地表明它们在不同的地方。非常奇怪,感谢任何帮助。

谢谢

最佳答案

你的

[self.view setFrame:frame];

(100,47) 绝对坐标

|                |
|                |
|   self.view    |
|                |
|                |

你的 staticTable 留下零坐标。

staticTable = [[UITableView alloc] initWithFrame:CGRectMake(0,0,128,150) style:UITableViewStylePlain];

因为

(0,0) self.view 的相对坐标。

(100,47) superView 的绝对坐标

self.view
    |[                ]|
    |[                ]|
    |[staticTableView ]|
    |[                ]|
    |[                ]|

如果你设置的frame等于下图。

staticTable = [[UITableView alloc] initWithFrame:frame style:UITableViewStylePlain];

self.view
 |      [      |         ]
 |      [      |         ]
 |      [static|TableView]
 |      [      |         ]
 |      [      |         ]

关于iphone - 设置 UITableView 的框架不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9980217/

相关文章:

iphone - 接收者 'ClassName' 是转发类,对应的@interface 可能不存在

objective-c - 音频缓冲区代码中的内存不断增长

ios - 从另一个 View Controller 返回时 UICollectionView 重复单元格

iphone - 是否可以通过获取 IP 地址使用套接字连接两个 ios 设备?

iphone - 在 Xcode 中更改按钮的背景图像(按钮在父类(super class)中)

ios - WinObjC:如何知道支持/处理哪些 cocoa 框架?

iphone - EXC_BAD_ACCESS 错误.. textfield resignFirstResponder

iphone - 如何获取 UIImage 的地理坐标?

android - Android 有一些相当于 iPhone 的支柱和 Spring 吗?

ios - 选择单元格时 TableViewCell 内容重复