Tôi muốn căn chỉnh văn bản theo chiều dọc trung tâm trong UItextView
.UITextView alligining văn bản theo chiều dọc trung tâm
Tôi đang sử dụng đoạn mã sau
UITextView *tv = object;
CGFloat topCorrect = ([tv bounds].size.height - [tv contentSize].height * [tv zoomScale])/2.0;
topCorrect = (topCorrect < 0.0 ? 0.0 : topCorrect);
tv.contentOffset = (CGPoint){.x = 0, .y = -topCorrect}
;
Bằng cách nào đó tính năng này không hoạt động trong iOS 5 khi contentSize trả về có những thứ khác nhau trong iOS6.
Bất kỳ ý tưởng nào tại sao contentSize
của cùng một chế độ xem văn bản khác nhau trong iOS 5 và iOS 6?
Điều này không giữ cho văn bản liên tục tập trung theo chiều dọc bởi vì nếu UITextView được thay đổi kích thước (fo Ví dụ r, khi bàn phím xuất hiện) thì nội dung trong UITextView sẽ trở lại căn chỉnh trên cùng. – motionpotion
Đây là một đoạn mã lớn ngoài giá trị của nó như là một người quan sát keypath. Cảm ơn. –
Tôi đã gặp sự cố khi sử dụng mã này trong 'UITableView'. Làm việc tốt trên ios8 nhưng cũng cần phải loại bỏ người quan sát sau khi căn chỉnh được thực hiện. Thêm dòng này làm dòng cuối cùng của phương thức 'observValueForKeyPath':' [tv removeObserver: self forKeyPath: @ "contentSize"]; ' –