ben*_*igi 2 iphone uitableview
我已经玩UITableView了一段时间,在敲击键盘和滚动问题时,我决定通过使用它来解决它,UITableViewController并在键盘出现时利用自动滚动.不幸的是,这对我来说并不存在,我无法弄清楚为什么,我已经尝试了很多东西并且放弃去问社区.
这是我到目前为止:
UIViewController处理UIView(MyView.xib)(这也是根视图)UITableViewController处理a
(MyTable.xib)UITableViewXIBUITableViewCell被拖入(MyTable.xib)并与之并排放置UITableView.这UITableViewCell没有自定义类.还有一个连接到UITableViewController课堂的插座.UITextField坐在UITableViewCellUITableViewController类UITableView到文件的所有者这就是它在MyTable.xib中的IB外观
UITableViewUITableViewCell
UITextField因此,当我在UITableViewController中生成我的表行时,我将前5行作为常规单元格出列,而对于最后一行,我返回我的出口"myCell"(UITableViewCell).这是具有UITextField的那个.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
if (indexPath.row == 5) return myCell;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = [NSString stringWithFormat:@"Test"];
return cell;
}
Run Code Online (Sandbox Code Playgroud)
最后,在我ViewController的作品中viewDidLoad,我创建了一个实例UITableViewController并显示它.它成功地在底部显示了5行和我的自定义行.一切都在主视图中,但......
- (void)viewDidLoad
{
[super viewDidLoad];
mtc = [[MortgageTableController alloc] initWithNibName:@"MyTable" bundle:nil];
mtc.view.frame = CGRectMake(0, 44, 320, 375);
[self.view addSubview:mtc.view];
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,如果我点击它UITextField,我看不到表格在视图中自动滚动.我认为这是使用的优势之一,UITableViewController或者我可能在这里做错了.
我也尝试选择和/或滚动表格到行但没有运气.
Son*_*lin 12
您需要调用super viewWillAppear来自动滚动.
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// your code
}
Run Code Online (Sandbox Code Playgroud)
编辑:7月19日,这个工作的前提条件是你的控制器是UITableViewController的子类
| 归档时间: |
|
| 查看次数: |
3285 次 |
| 最近记录: |