Trước ios5 tôi đã có thể truy cập vào UIScrollView đại biểu của một UIWebView như thế này:Tại sao tôi không thể lưu trữ thuộc tính ủy quyền UIScrollView của UIWebView nữa?
for (id subview in webView1.subviews){
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
UIScrollView * s = (UIScrollView*)subview;
OldDelegate = s.delegate;//OldDelegate is type id
s.delegate = self;
}
}
Bây giờ, tôi biết đó là không đúng cách để làm điều đó, nhưng đồng thời (như xa như tôi hiểu) đó là cách duy nhất để làm điều đó. iOS 5 đã thay đổi điều đó, vì vậy tôi đang cố gắng để làm điều đó một cách iOS 5:
UIScrollView * s = webView.scrollView;
Olddelegate = s.delegate;
s.delegate = self;
Nhưng một trong hai cách tôi cố gắng để làm điều đó, giá trị của đối tượng OldDelegate của tôi là 0x0. Nó thực sự quan trọng là tôi giữ lại giá trị đại biểu này, nhưng cố gắng như tôi có thể, tôi chỉ nhận được 0x0.
Bất kỳ ý tưởng nào?
tôi không sử dụng ARC ...
Chỉ là một câu hỏi, bạn đã bao giờ nhận được để gửi một ứng dụng đã làm điều đó? Tôi nghĩ rằng đó là bị cấm bởi Apple. Tôi muốn làm một cái gì đó tương tự mặc dù tôi không biết nếu nó sẽ nhận được các ứng dụng bị từ chối. –
Vâng nó đã được chấp thuận, nhưng bây giờ là lúc để cập nhật, và tôi không thể làm cho nó hoạt động nên tôi gặp rắc rối ... – Lizza
Tại sao bạn cần phải giữ lại đại biểu của bạn? Đây là bằng chứng của một vấn đề lớn hơn trong cách bạn đang xây dựng hệ thống phân cấp khung nhìn của bạn. Các đại biểu nên luôn luôn được tuyên bố yếu, vì giữ lại chúng không có ý nghĩa. – Sam