您好,登錄后才能下訂單哦!
由于項目需要自定義一個日歷,后來在GitHub上找到了FSCalendar跟我們的項目需求很相似,就想拿過來改一下,看了看代碼,作者邏輯代碼能力挺強悍的(最起碼我看代碼饒了很長時間還沒有完全看懂)。我們的需求就是要把FS日歷的hearder換成中間顯示月份兩邊是兩個button可以點擊向左向右切換月份,由于作者所有切換日歷的邏輯都寫在Scrollview的代理方法scrollViewDidScroll里面,所以在我的button點擊事件里面設置Scrollview的contentoffset的時候,系統會自動調用ScrollviewDidScroll方法,所以除了執行點擊事件里面我設置的更換日歷相關邏輯,還會自動調用ScrollviewDidScroll方法中實現的邏輯,導致混亂。最終還是受作者的代碼啟發,使用bounds代替contentoffset,同樣實現切換Scrollview顯示的位置但是不會觸發ScrollviewDidScroll方法,核心代碼如下:
_scrollView.bounds = CGRectOffset(_scrollView.bounds, self.flowOffset.x, self.flowOffset.y);
其實bounds的x,y值也是可以不為0的,不為0時代表相對于自身坐標系的位置偏移,和contentoffset作用相似,做個筆記,如有錯誤,敬請指出!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。