ios 使用uiscrollview 實現下拉重新整理時 一般是通過 在uiscrollview的contentoffset和contentinset來實現的,mjrefresh在處理開始重新整理事件時使用的是動畫來解決的,這裡也可以不用動畫來解決 mjrefresh為
// 根據狀態做事情
if (state == mjrefreshstateidle) completion:^(bool finished) ];
}
不使用動畫又分為兩種情況:**如下 第一種:
// 增加滾動區域
cgfloat top = self.scrollvieworiginalinset.top + self.zy_h;
nslog(@"scrollvieworiginalinset %f", self.scrollvieworiginalinset.top);
nslog(@"self.zy_h %f", self.zy_h);
nslog(@"top %f", top);
// cgpoint offset = self.scrollview.contentoffset;
uiedgeinsets inset = self.scrollview.contentinset;
inset.top = top;
self.scrollview.contentinset = inset;
// self.scrollview.contentinset
nslog(@"self.scrollview.contentinset %@", nsstringfromuiedgeinsets(self.scrollview.contentinset));
cgpoint offset = self.scrollview.contentoffset;
offset.y = - top;
nslog(@"offset %f", offset.y);
self.scrollview.contentoffset = offset;
// self.scrollview.contentoffset
nslog(@"self.scrollview.contentoffset %@", nsstringfromcgpoint(self.scrollview.contentoffset));
這種可以看到 效果很不好 uiscrollview先彈回最初狀態然後再回到contentoffset設定的值設定的狀態,這樣的效果根本不能是下拉重新整理效果,使用者會感覺跳來跳去,這個方式直接放棄,之所以說有這個方式,是讓讀者明白 這樣做不可以,當然mjrefresh是這樣做的,但是他用了動畫遮蔽了uiscrollview的回彈過程。
另一種正確的做法為:
// 增加滾動區域
cgfloat top = self.scrollvieworiginalinset.top + self.zy_h;
nslog(@"scrollvieworiginalinset %f", self.scrollvieworiginalinset.top);
nslog(@"self.zy_h %f", self.zy_h);
nslog(@"top %f", top);
cgpoint offset = self.scrollview.contentoffset;
uiedgeinsets inset = self.scrollview.contentinset;
inset.top = top;
self.scrollview.contentinset = inset;
// self.scrollview.contentinset
nslog(@"self.scrollview.contentinset %@", nsstringfromuiedgeinsets(self.scrollview.contentinset));
// cgpoint offset = self.scrollview.contentoffset;
// offset.y = - top;
//
// nslog(@"offset %f", offset.y);
self.scrollview.contentoffset = offset;
// self.scrollview.contentoffset
nslog(@"self.scrollview.contentoffset %@", nsstringfromcgpoint(self.scrollview.contentoffset));
這個做法自己感覺不錯,使用了uiscrollview自己的**動畫,與下拉效果一氣呵成 使用者會感覺比較自然。當然mjrefresh裡面使用的動畫使用者也不會太在意的。畢竟只是乙個回彈的效果問題。這次標記一下。不明白的可以聯絡我。
IOS UIScrollview約束問題
詳細就不多解釋了,說說在查詢完資料後所獲得的結論吧 1.scrollview的leading,top,trailing,bottom所對應的不是scrollview的bounds,而是scrollview的content size 2.scrollview在多語言切換的時候,leading不會根據語...
iOS uiscrollview 自動迴圈滾動
自動迴圈滾動scrollview和 uipagecontrol 自己的資源 我的是5張 另外設定第一張為 最後一張 最後一張是第一張 把自己的五張 放在這兩張圖之間共七張 設定scrollview 的偏移量為一張的偏移量 nstimer scheduledtimerwithtimeinterval ...
iOS UIScrollView的學習(二)
1 接著上一次的說 這次講一下uiscrollview的縮放功能。2 當使用者在uiscrollview身上使用捏合手勢時,uiscrollview會給 傳送一條訊息,詢問 究竟要縮放自己內部的哪乙個子控制項 哪一塊內容 當使用者在uiscrollview身上使用捏合手勢時,uiscrollview...