cuốn sách gpt4 ai đã làm

iphone - Tăng tốc UIPageViewController

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-01 19:12:46 29 4
mua khóa gpt4 Nike

Tôi có UIPageViewController có nhiều trang. Đó là cùng một Trình điều khiển xem cho mỗi trang nhưng nó theo dõi số trang và hiển thị đúng trang của tệp PDF. Vấn đề là mỗi trang PDF cần phải được tải và vẽ trước khi hiệu ứng cuộn tròn có thể hoạt động (bạn trượt ngón tay trên màn hình và không có gì xảy ra cho đến khi nó tải). Bạn có ý tưởng nào về cách tăng tốc độ này hoặc tải trước trang tiếp theo không? Cảm ơn sự giúp đỡ của bạn.

câu trả lời hay nhất

Ứng dụng tôi đang sử dụng hiện có vấn đề tương tự. Giải pháp của tôi là giữ các tham chiếu đến Bộ điều khiển trước đó và tiếp theo được tải dưới dạng thuộc tính của Bộ điều khiển Chế độ xem Gốc của tôi và sau đó tải Chế độ xem từ đó. Tôi không sử dụng PageViewController vì khách hàng yêu cầu điều đó必须Có vẻ như FlipBoard... nên tôi cũng đã lưu GLTexture đã tạo vào bộ nhớ đệm. Nó sẽ hoạt động theo cách tương tự, chỉ cần lưu trữ trang tiếp theo và trang trước khi trang hiện tại được tải và sau đó chuyển Bộ điều khiển đó vào "loadNextPage" của bạn hoặc bất kỳ phương thức nào.

biên tập:Đây là một ví dụ từ dự án của tôi (tôi đã đơn giản hóa nó)

Lần tải đầu tiên (NH là tiền tố của chương trình của tôi, vì vậy bạn cần thay thế nó bằng lớp của riêng bạn):

NHViewController *child = [NHViewController LoadPageNum:actualNum];
[self.view addSubview:child.view];
self.curController = con;
child.delegate = tự;
[tự khởi tạoPages:NHPageLoadBoth];

Tải tiếp theo (chuyển trang):

    NHPageLoadSettings pageToLoad = NHPageLoadNext;
if(hướng == NHPageDirectionNextPage)
{
self.prevController = self.curController;
self.curController = self.nextController;
self.nextController = nil;
}
khác
{
self.nextController = self.curController;
self.curController = self.prevController;
self.prevController = nil;
pageToLoad = NHPageLoadPrev;
}

UIView *nextView = self.curController.view;
[self.view addSubview:nextView];
[mCurView xóaFromSuperview];
mCurView = nextView;

[tự khởi tạoPages:pageToLoad];

Trang khởi tạo:

- (void)initializePages:(NHPageLoadSettings)pagesToLoad
{
if(pagesToLoad & NHPageLoadNext)
{
NSUInteger nextPageNum = [self.curController.pageNum unsignedIntegerValue]+1;
self.nextController = [NHViewController LoadPageNum:nextPageNum];
}
if(pageToLoad & NHPageLoadPrev)
{
NSUInteger prevPageNum = [self.curController.pageNum unsignedIntegerValue]-1;
self.prevController = [NHViewController LoadPageNum:prevPageNum];
}
}

Bằng cách này, bạn sẽ luôn có sẵn trang vùng lân cận của mình. Sau đó, thay vì khởi tạo chúng theo phương thức truy xuất trang tiếp theo hoặc trang trước đó trong UIPageViewController, chỉ cần chuyển self.nextController hoặc self.prevController.

Về iphone - tăng tốc UIPageViewController, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/9797866/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress