หากเรานำ Embed code จาก Youtube มาเปิดด้วย UIWebView แล้วจะพบว่า Video จะไม่เล่นเลยทันทีที่ UIWebView โหลดเสร็จ ทำให้เราต้องกดปุ่ม Play ที่ overlay อยู่บน clip ก่อนถึงจะเล่นได้
สำหรับการทำให้มันดูเหมือนเล่นทันทีอัตโนมัติหลังจาก UIWebView โหลดเสร็จแล้วเราจะใช้วิธีการส่ง UIControlEventTouchUpInside ไปหาปุ่มที่เราต้องการกดเสมือนกับว่าเรากดเอง
เราจะเริ่มหาปุ่มหลังจากที่ UIWebView โหลดเสร็จแล้ว ใน delegate method ตัวนี้ ดังนี้
- (void)webViewDidFinishLoad:(UIWebView *) webView {
UIButton *b = [self findButtonInView: webView];
[b sendActionsForControlEvents:UIControlEventTouchUpInside];
}
และเขียน method findButtonInView: ดังนี้
- (UIButton *)findButtonInView:(UIView *)view {
UIButton *button = nil;
if ([view isMemberOfClass:[UIButton class]]) {
return (UIButton *)view;
}
if (view.subviews && [view.subviews count] > 0) {
for (UIView *subview in view.subviews) {
button = [self findButtonInView:subview];
if (button) return button;
}
}
return button;
}
เท่านี้ก็เรียบร้อย
Related Link from Roti






