background image

                                            lineBreakMode:UILineBreakModeWordWrap];
                    
                    if (pageTextSize.height <= textLabel.frame.size.height) {
                        range.length = [pageText length];
                        break;
                    }
                    else {
                        range.length -= 2;
                    }
                }
                
                // 得到一个页面的显示范围
                if (page >= maxPages) {
                    maxPages += 10;
                    rangeOfPages = (NSRange *)realloc(rangeOfPages, maxPages*sizeof(NSRange));
                }
                rangeOfPages[page++] = range;
                
                // 更新游标
                location += range.length;
            }

            // 获取最终页面数量
            totalPages = page;
            
            // 更新 UILabel 内容
            textLabel.text = [text substringWithRange:rangeOfPages[currentPage]];
        }
    }
    
    // 显示当前页面进度信息,格式为:"8/100"
    pageInfoLabel.text = [NSString stringWithFormat:@"%d/%d", currentPage+1, totalPages];
}

////////////////////////////////////////////////////////////////////////////////////////
// 上一页
- (IBAction)actionPrevious:(id)sender {
    if (currentPage > 0) {
        currentPage--;
        
        NSRange range = rangeOfPages[currentPage];
        NSString *pageText = [text substringWithRange:range];