Tôi có một dòng UILabel
nhiều dòng mà tôi muốn bật tính năng phóng to.Zoom UILabel & Hiển thị lại phông chữ ở kích thước chính xác
tôi nhúng nó với một UIScrollView
và thiết lập phút zoom tới .25 và zoom tối đa đến 4. này hoạt động tốt, tuy nhiên UILabel
tôi 's phông chữ trông khá thô ở bất kỳ cấp độ zoom khác hơn 1.
tôi có thể xử lý phương thức này:
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
để kích thước lại phông chữ UILabel của tôi thành thứ gì đó lớn hơn, nhưng chế độ xem vẫn được phóng to, vì vậy nó luôn trông khủng khiếp.
Có cách nào để làm cho văn bản của nhãn hiển thị lại một lần tôi đã phóng to xong không?
Điều quan trọng là vị trí cuộn hiện tại của người dùng trong văn bản không bị mất.
(Để có cảm nhận về những gì tôi đang làm, hãy chú ý đến cách thức di chuyển trong Safari khi bạn phóng to văn bản được chia tỷ lệ/chống răng cưa trong một giây rồi chia nhỏ để hiển thị tốt ở quy mô thu phóng hiện tại của bạn)
Cảm ơn câu trả lời chi tiết. điều này có nghĩa là tôi cần phải từ bỏ tính năng phóng to tích hợp của chế độ xem cuộn? Hoặc khi tôi phóng to xong, tôi chỉ render lại bề mặt ở hệ số tỷ lệ mới? Điều này làm gì với cài đặt thu phóng tối thiểu/tối đa của bạn? –
Bạn sử dụng tính năng phóng to được tích hợp trong khi cử chỉ chụm đang diễn ra, sau đó hiển thị lại khi cử chỉ kết thúc. Đây là cách duy nhất để có được hiệu suất thu nhỏ chụm. UIScrollView theo dõi quy mô thu phóng tổng thể (đó là lý do tại sao bạn cần ghi đè trình biến đổi trên chế độ xem nội dung để chống lại điều này), do đó, nó sẽ vẫn quan sát cài đặt thu phóng tối thiểu/tối đa. –
Bắt đầu có ý nghĩa hơn. Vì vậy, nếu tôi phóng to 150%, tôi có thể thay đổi kích thước phông chữ của nhãn thành 1.5 * currentFontSize, tính lại vị trí cuộn chính xác của chúng và hiển thị lại nhãn của tôi. Sau đó, tôi thiết lập lại zoom đến 1 và tính lại min/max của tôi? Tôi có quyền này không? –