好吧這應該是一個簡單的任務,但它一直讓我發瘋。UIView菜單在UIScrollView
我想要實現的是一個UIScrollView,顯示在屏幕的側面和底部的靜態透明工具欄後面。該結構目前已設置爲使scrollView(UIScrollView的子類)和overlay(UIView的子類)都是RootViewController的子視圖。
問題是,如果我能overlay.userInteractionEnabled所有接觸到的層並不能得到的滾動視圖。但是,如果我關閉用戶交互的scrollView工作正常,但我無法與疊加層進行交互。
至於處理觸摸,我用RootViewController的收集這些和他們像發送到正確的對象,因此:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *t1 = [[[event allTouches]allObjects]objectAtIndex:0];
CGPoint loc = [t1 locationInView:self.view];
if (CGRectContainsPoint(overlay.rightToolbar.frame, loc)) {
overlayTouched = YES;
[overlay touchesBegan:touches withEvent:event];
} else {
overlayTouched = NO;
[scrollView touchesBegan:touches withEvent:event];
}
}
我有一種感覺,一個修補程序將設置工具欄爲獨立UIViews並將它們作爲子視圖添加到視圖控制器中,以便覆蓋層不佔用整個屏幕,但是如果有其他方法,我想避免這種情況。