我遇到的问题UITableView是它在使用时似乎无法正确滚动到最后一行scrollToRowAtIndexPath:atScrollPosition:animated
这是我用来导致滚动的代码:
[self.tableView scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionMiddle
animated:YES];
Run Code Online (Sandbox Code Playgroud)
这是一个截图,显示结果(和问题!):

如您所见,最后一行(九月)未完全滚动到视图中; 底部几个像素被切断.
我尝试过使用UITableViewScrollPositionNone,UITableViewScrollPositionTop并且UITableViewScrollPositionBottom作为滚动位置,但它们都产生相同的结果.
我的单元格的自定义单元格高度61.0f当前在故事板中设置,但添加UITableViewDelegate方法tableView:heightForRowAtIndexPath:并返回相同的值也无济于事.
有什么办法,我可以得到表视图滚动到最后一排和拥有它完全可见?
编辑:
为了清楚起见,我正在使用UINavigationController股票UITableViewController作为根视图控制器.
编辑2:
如果我rectForRowAtIndexPath:用来确定行的rect,它实际上会返回该行的正确rect.但是如果我然后scrollRectToVisible:animated:使用那个rect 调用,我会得到与上面相同的结果; 底部几个像素被切断.
我看到了与MPMediaItemArtwork一致的问题,因为它返回的艺术作品大小与我要求的大小不同.
我正在使用的代码如下
MPMediaItem *representativeItem = [self.representativeItems objectAtIndex:index];
MPMediaItemArtwork *artwork = [representativeItem valueForProperty:MPMediaItemPropertyArtwork];
UIImage *albumCover = [artwork imageWithSize:CGSizeMake(128.0f, 128.0f)];
Run Code Online (Sandbox Code Playgroud)
这可以正常工作,除了返回的图像的大小总是{320.0f, 320.0f}即使我特别要求,{128.0f, 128.0f}并且由于图像大小超过预期的两倍而导致一些内存问题.
有没有其他人目睹这个特殊问题.你是怎么解决的?
苹果文档建议这应该像我期望的那样工作,而不是它实际上是如何工作的

在iOS 5的Messages.app显示中,任何人都可以解释如何最好地模仿"附件视图"(在倒置逗号中,因为我实际上并不认为它是附件视图)的行为,因为我想要一个给人留下深刻印象的视图它固定在键盘顶部,但在键盘解除后仍保留在屏幕上.
ios ×4
objective-c ×4
iphone ×3
cocoa-touch ×1
ios6 ×1
mpmediaitem ×1
uitableview ×1
uiview ×1