2
查看當日應用程序的此screenshot。iPhone:通過UIScrollView或UITableView覆蓋圖像
在應用程序的底部,最後一項變淡,文本被繪製在舊頁面捲曲的自定義圖形下。我非常肯定這是因爲視圖正在透明的圖像下繪製。我如何能夠覆蓋UIScrollView或UITableView頂部的圖像,使我可以得到這種效果,但觸摸事件仍然由底層視圖處理?
查看當日應用程序的此screenshot。iPhone:通過UIScrollView或UITableView覆蓋圖像
在應用程序的底部,最後一項變淡,文本被繪製在舊頁面捲曲的自定義圖形下。我非常肯定這是因爲視圖正在透明的圖像下繪製。我如何能夠覆蓋UIScrollView或UITableView頂部的圖像,使我可以得到這種效果,但觸摸事件仍然由底層視圖處理?
您只需要在滾動視圖或表格視圖上方拖放圖像視圖。在界面生成器中,只需將圖像視圖的大小和位置放置在希望淡入淡出視圖的區域。或者,在代碼:
UIImageView *overlayView = [[UIImageView alloc] initWithImage:someImage];
[overlayView setFrame:someFrame];
// Your scroll view or table view would be a subview of this view
[viewContainingScrollView addSubview:overlayView];
[viewContainingScrollView bringSubviewToFront:overlayView];
[overlayView release];
圖像視圖將默認忽略觸摸,從而使觸摸到在響應者鏈中的下圖。這允許您的滾動視圖或表格視圖在圖像視圖佔用的區域中選取觸摸,而無需再編寫任何代碼。
如果你真的想確保,不過,你只需要簡單地禁用圖像視圖的用戶交互:
[overlayView setUserInteractionEnabled:NO];