簡體   English   中英

iOS修復TableView到底部像消息應用程序

[英]iOS Fix TableView To Bottom Like Messages App

所以這完全超出了我的專業領域?所以我想我會問它,看看是否有更多有經驗的人可以給我一個是或否答案。

所以,我正在使用Appcelerator Titanium構建一個包含許多tableviews的應用程序。 我正在構建它,以便一些tableViews從底部開始,我可以向上滾動而不是向下滾動以啟動,這與iPhone上的“Messages”應用程序完全相同。

它的工作方式是內容加載,並自動加載,桌面視圖固定在底部,然后您可以向上滾動以查看較舊的帖子。

除了創建tableview之外,我找不到在appcelerator中執行此操作的方法,加載數據,然后將其滾動到底部(顯然有這樣的捕捉)。 我可以隱藏tableview,滾動到底部,然后顯示tableview,但再次...不理想。

現在問題 ...... 是否可以使用標准的iOS SDK(非appcelerator)來設置一個表來修復底部而不是頂部? 如果沒有,我將不得不以某種方式找到一個工作。 如果是的話,我想嘗試將它構建成鈦模塊,如果可能的話......

無論如何,謝謝! 希望這對你們中的一些人來說是一個簡單的答案。

實際上,這真的很微不足道。 像這樣的東西可以正常工作:

-(void)viewDidLoad {
   //place this at the bottom of your viewDidLoad method, or in any method that initially reloads the table
    NSIndexPath* ipath = [NSIndexPath indexPathForRow: myArray.count-1 inSection: 0];
    [tableView scrollToRowAtIndexPath: ipath atScrollPosition: UITableViewScrollPositionBottom animated: NO]
}

我試圖在viewDidLoad中滾動,但在視圖控制器出現后,我可以看到視圖中表格的開頭出現。

我找到了最初滾動的好地方。

- (void) viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];

    NSInteger lastSectionIndex = MAX(0, [self.chatTableView numberOfSections] - 1);
    NSInteger lastRowIndex = MAX(0, [self.chatTableView numberOfRowsInSection:lastSectionIndex] - 1);
    NSIndexPath *lastIndexPath = [NSIndexPath indexPathForRow:lastRowIndex inSection:lastSectionIndex];
   [self.chatTableView scrollToRowAtIndexPath:lastIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM