小编Ben*_*enB的帖子

iOS 8自动单元格高度 - 无法滚动到最后一行

我正在使用iOS 8新的自动调整单元格.在视觉上它运作良好 - 每个单元格大小合适.但是,如果我尝试滚动到最后一行,表视图似乎不知道它的正确大小.这是一个错误还是有解决方法?

以下是重建问题的方法:

使用这个项目 - TableViewCellWithAutoLayoutiOS8(从这个SO答案引用),我按预期得到了自动调整大小的单元格.

但是,如果我调用scrollToRowAtIndexPath函数,如下所示:

tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: model.dataArray.count - 1, inSection: 0), atScrollPosition: .Bottom, animated: true)
Run Code Online (Sandbox Code Playgroud)

没有到达最后一排 - 它只让我到了中途.

即使试图使用这样的低级函数:

tableView.setContentOffset(CGPointMake(0, tableView.contentSize.height - tableView.frame.size.height), animated: true)
Run Code Online (Sandbox Code Playgroud)

结果不如预期,它不会达到目的.如果我点击很多次或等待片刻,最终它会到达正确的位置.似乎tableView.contentSize.height设置不正确,因此iOS"不知道"最后一个单元格在哪里.

非常感谢任何帮助.

谢谢

uitableview ios swift ios8

57
推荐指数
4
解决办法
2万
查看次数

无法在UITableViewCell中更新UI对象的框架

我有一个子类UITableViewCell.

我需要动态更改UILabel的框架.

这就是我所做的:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"messageCell";
    MessageCell *cell = (MessageCell*) [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    cell.Content.Text = @"Content!";
    [cell.Content setFrame:CGRectMake(0, 0, 10, 10)];
}
Run Code Online (Sandbox Code Playgroud)

UILabel的文本确实发生了变化,因此这不是IBOutlet问题.然而,框架保持与IB中定义的相同.

我以前做过这样的事情,所以我不确定这里出了什么问题......

谢谢你的帮助.

编辑:

我用

[self.tableView registerNib:[UINib nibWithNibName:@"MessageCell" bundle:nil]
     forCellReuseIdentifier:@"MessageCell"]; 
Run Code Online (Sandbox Code Playgroud)

在viewDidLoad中

iphone objective-c uitableview

5
推荐指数
1
解决办法
3655
查看次数

使用 XDebug + PHPStorm 进行调试迫使我总是介入

我正在尝试调试我的Codeception测试。

当从浏览器使用正确的IDE-KEY作为 cookie时,我使用PHPStorm + XDebug 的调试平台运行良好。

但是,在尝试使用CLI调试 codecept 时,我遇到了以下问题:

  • 如果我在 Cest 类中放置断点,则行为是正常的。我可以跳过函数并单击“恢复”以停止调试。
  • 但是每当我在我的代码(IE 控制器或我的命名空间类)中放置一个断点时,xdebug 就会变得不可用:

如果我尝试ResumeStep OutStep Over,xdebug 会忽略我的请求并始终步入当前行。

这让我的测试真的很难继续。

我尝试过使用两个平台:我常用的 vagrant + nginx + php5-fpm(带远程调试)和 wamp(本地调试)。

任何帮助,将不胜感激!

——

更新: 嗯,这与 Codeception 无关。我尝试仅使用PHPUnit进行测试,结果也是如此。CLI 似乎也不是问题,因为我尝试从浏览器调试 PHPUnit,但没有成功。

我想可能是 PHPStorm 错误,但查看 xdebug 日志,我看到调用了正确的方法:

<- step_over -i 41
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_over" transaction_id="41" status="break" reason="ok">
Run Code Online (Sandbox Code Playgroud)

step_over 被调用,而不是 step_into。那么也许是 xdebug 的错误?

奇怪的是,这并不总是发生。更改配置后,有时不会发生,但是错误似乎又回来了......

debugging xdebug phpstorm codeception

2
推荐指数
1
解决办法
1118
查看次数