iphone - UIViewController viewDidLoad方法中设置UITableView的contentOffset不生效

标签 iphone cocoa cocoa-touch uikit

UITableView在UIViewController viewDidLoad中设置contentOffset不生效...

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;

    self.tableView.contentOffset = CGPointMake(0.0f, 200.0f);
}

...该值已设置,但是,在 TableView 的 contentOffset 上设置观察者后,我可以看到在 viewDidLoad 运行后它至少再次设置为零(这是在空的 iphone“ TableView ”中) “模板项目以确保它不是我在其他地方做的事情)。

我会使用 viewWillAppear: 但这会导致用户从其他地方返回到 Controller 时丢失滚动位置。

有什么想法吗?我确信这一定很简单:)

最佳答案

在viewWillAppear中,你能检查一下偏移量是否为0,0,如果是,然后将其设置到你想要的位置吗?

这将保留用户的位置,同时允许您进行覆盖。

关于iphone - UIViewController viewDidLoad方法中设置UITableView的contentOffset不生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035062/

相关文章:

ios - Appstore 审核人员会允许我们在 iOS8 中使用动态库吗?

iphone - 何时使用 Core Data 的 NSMainQueueConcurrencyType?

iphone - 在 UITableView 上方增加 UIView 的高度

iphone - 启用滑动图像的能力

objective-c - 从对象数组中获取属性数组

macos - Swift NSWindow 显示并立即消失

iOS8 - 如何在 iOS 8 中更改长按手势的灵敏度

ios - 在 UICollectionView 中禁用水平滚动

iphone - iOS - 通过方法返回传递 NSMutableArray

objective-c - 将十六进制颜色代码转换为 NSColor