一般来说:我在 UIViewController 上有一个带有 xib 文件的自定义 UIView 作为子视图。我在控制器中以编程方式添加子视图。
在我的 UIViewController 中:
NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"MyCustomSubView" owner:self options:nil];
mySubView = [subviewArray objectAtIndex:0];
...
[self.view addSubview:mapView];
因为我需要在这个子视图上滚动,它上面也有一个 UIImageView,所以我决定将我的自定义 UIView 更改为 UIScrollView。
我做了以下步骤:
- 更改了 MyCustomSubView.xib,添加了一个带有自定义类 MyCustomSubView 的 UIScrollView(和之前一样的 UIImageView)
- 更改了我的 MyCustomSubView 类以扩展 UIScrollView
- 更改了我的 MyViewController 以实现 UIScrollViewDelegate
- 将 mySubView.delegate 设置为 self(控制器)
- 实现 (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 并返回子视图的 UIImageView
- 在 imageview 和 uiscrollview 上启用用户交互
这些是我认为的总步骤。但作为示例,未调用 viewForZoomingInScrollView 方法。我也尝试放大,但什么也没发生。
任何人的想法,可能有什么问题?