wordpress 引入css/seo培訓(xùn)師
本周主要修改了以往的一些bug,實(shí)現(xiàn)了一些遺漏的新功能。
無限右滑
無限右滑我聽了學(xué)長的思路,首先在scrollView的畫布大小設(shè)置多一個(gè)寬度的畫布,然后每當(dāng)滑到那個(gè)畫布的時(shí)候,就調(diào)用一個(gè)通知,該通知會(huì)觸發(fā)在首頁的viewController上的監(jiān)聽事件,該監(jiān)聽事件會(huì)再次進(jìn)行一次網(wǎng)絡(luò)請求請求到前一天的數(shù)據(jù)。然后再次跳轉(zhuǎn)到加載內(nèi)容的視圖。當(dāng)從該視圖退出的時(shí)候,會(huì)pop回到根視圖。在首頁的viewWillAppear中,只需要再次對tableView進(jìn)行reloadData就可以完成對首頁tableView的刷新。
scrollView左右滑動(dòng)的bug
我的scrollView最開始滑動(dòng)的時(shí)候,如果滑動(dòng)到的視圖還沒加載出來的時(shí)候就進(jìn)行往回滑,這個(gè)視圖就會(huì)無法被加到正確的位置導(dǎo)致出現(xiàn)空白。原因是我在scrollViewDidEndDecelerating一直根據(jù)scrollView.contentOffset.x / self.view.bounds.size.width動(dòng)態(tài)判斷著section,但是往回滑的時(shí)候當(dāng)前的section立即變了,但是已經(jīng)去請求信息依靠的section還是上一個(gè),所以就導(dǎo)致出現(xiàn)bug。我的解決方案是根據(jù)我加載的小菊花控件是否關(guān)閉來判斷是否應(yīng)該改變當(dāng)前的section,如果小菊花控件還沒有關(guān)閉scrollView.contentOffset.x就發(fā)生偏移,那就不要將當(dāng)前的section改變。
代碼實(shí)現(xiàn):
if (self.activityIndicator.isAnimating == YES) {[self.activityIndicator stopAnimating];} else {self.section = scrollView.contentOffset.x / self.view.bounds.size.width;NSLog(@"%d", self.section);if (self.section != self.allIndexNum) {[self getData];}if (![self.set containsObject: [NSString stringWithFormat:@"%d", self.section]]) {if (self.isShouCang == NO && _isButton == NO && self.section == self.allIndexNum) {[[NSNotificationCenter defaultCenter] postNotificationName:@"newInfo" object:nil userInfo:nil];self.activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame: CGRectMake(self.view.bounds.size.width / 2 - 50, self.view.bounds.size.height/2 - 50, 80, 80)];[self.view addSubview:self.activityIndicator];[self.activityIndicator startAnimating];} else {[self webViewGet];self.activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame: CGRectMake(self.view.bounds.size.width / 2 - 50, self.view.bounds.size.height/2 - 50, 80, 80)];[self.view addSubview:self.activityIndicator];[self.activityIndicator startAnimating];}}}
FMDB的刪除和返回收藏夾頁面刷新tableView
上周我只寫了FMDB的增加,這周完成了刪除:
- (void)deleteDataWithID: (NSString*)idStr {if ([self.collectionDatabase open]) {NSLog(@"%@", idStr);BOOL result = [self.collectionDatabase executeUpdate:@"delete from collectionData WHERE id = ?", idStr];if (!result) {NSLog(@"數(shù)據(jù)刪除失敗");} else {NSLog(@"數(shù)據(jù)刪除成功");}}
}
在完成刪除的時(shí)候遇到一個(gè)bug,當(dāng)對收藏夾中的內(nèi)容進(jìn)行刪除后,雖然FMDB數(shù)據(jù)庫刪除掉了,但是返回收藏夾頁面時(shí),tableView并沒有改變,只能退出收藏夾頁面再點(diǎn)進(jìn)去才能刷新。我憑借寫無限右滑學(xué)到的方法,同樣在刪除收藏夾內(nèi)容的方法中使用了通知傳值,每當(dāng)一個(gè)數(shù)據(jù)被刪除的時(shí)候就觸發(fā)在收藏夾頁面的監(jiān)聽事件,該監(jiān)聽事件中就直接重新獲取一遍FMDB數(shù)據(jù)庫中的內(nèi)容然后給對應(yīng)的數(shù)組賦值。當(dāng)從內(nèi)容界面返回收藏夾時(shí),在viewWillAppear中,只需要再次對tableView進(jìn)行reloadData就可以完成對收藏夾tableView的刷新。
評論區(qū)的展開收縮
這里是看了學(xué)長的博客寫的,[iOS開發(fā)]評論展開效果的實(shí)現(xiàn)
然后一開始遇到了我的展開button無法點(diǎn)擊的問題,一看我的button都不在頁面上只有一個(gè)buttonLabel在,然后發(fā)現(xiàn)是Masonry布局的問題,只要有一項(xiàng)的布局是負(fù)數(shù)就無法將button加入視圖。于是我修改了Masonry,它就可以點(diǎn)了。
但是還有一個(gè)button的復(fù)用問題。我的button少的時(shí)候還能正常展開,但是button一多就會(huì)亂套,我明天會(huì)改正這個(gè)bug
點(diǎn)贊收藏按鈕持久化
這個(gè)功能我也是依靠FMDB實(shí)現(xiàn)的。點(diǎn)贊的內(nèi)容新建一個(gè)FMDB,收藏的內(nèi)容就用保存收藏夾持久化的FMDB,然后保存的內(nèi)容就是點(diǎn)贊和收藏按鈕的select狀態(tài)。然后在scrollView中,每當(dāng)滑倒一個(gè)視圖,就判斷該頁面對應(yīng)的id的FMDB的點(diǎn)贊或收藏按鈕的狀態(tài)然后給按鈕賦值。
效果實(shí)現(xiàn):