- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
放大后我的图像在右侧被切断。如果我不使用 cgrect make 设置偏移量,那么它不会被切断,但我希望我的图像在屏幕上居中。我怎样才能让我的图像居中并且在缩放后不切断正确的部分?
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor grayColor];
UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
mainScrollView.pagingEnabled = YES;
mainScrollView.showsHorizontalScrollIndicator = NO;
mainScrollView.showsVerticalScrollIndicator = NO;
CGRect innerScrollFrame = mainScrollView.bounds;
for (NSInteger i = 0; i < 2; i++) {
UIImageView *imageForZooming = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"page%d", i + 1]]];
imageForZooming.tag = VIEW_FOR_ZOOM_TAG;
imageForZooming.frame = CGRectMake(50, 0, imageForZooming.bounds.size.width, imageForZooming.bounds.size.height);
UIScrollView *pageScrollView = [[UIScrollView alloc] initWithFrame:innerScrollFrame];
pageScrollView.minimumZoomScale = 0.5f;
pageScrollView.maximumZoomScale = 1.0f;
pageScrollView.contentSize = imageForZooming.bounds.size;
pageScrollView.delegate = self;
[pageScrollView addSubview:imageForZooming];
[mainScrollView addSubview:pageScrollView];
if (i < 1) {
innerScrollFrame.origin.x += innerScrollFrame.size.width;
}
pageScrollView.zoomScale = 0.5f;
}
mainScrollView.contentSize = CGSizeMake(innerScrollFrame.origin.x + innerScrollFrame.size.width, mainScrollView.bounds.size.height);
[self.view addSubview:mainScrollView];
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return [scrollView viewWithTag:VIEW_FOR_ZOOM_TAG];
}
编辑:这是我的 View 层次结构
最佳答案
对于以后遇到同样问题的其他人,我所做的是添加以下 UIScrollViewDelegate 协议(protocol):
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
UIView *subView = [scrollView.subviews objectAtIndex:0];
CGFloat offsetX = (scrollView.bounds.size.width > scrollView.contentSize.width) ? (scrollView.bounds.size.width - scrollView.contentSize.width) * 0.5 : 0.0;
CGFloat offsetY = (scrollView.bounds.size.height > scrollView.contentSize.height) ? (scrollView.bounds.size.height - scrollView.contentSize.height) * 0.5 : 0.0;
subView.center = CGPointMake(scrollView.contentSize.width * 0.5 + offsetX,
scrollView.contentSize.height * 0.5 + offsetY);
}
我在这里找到了答案:Center content of UIScrollView when smaller
这样图像在缩放后会居中,而不是应用最初应用的偏移量。工作起来很有魅力。现在,当我缩放时,我的图像在任一页面控件上都不会被截断,而且我可以将图像居中显示在 View 的开头。
关于ios - 缩放后 UIImageView 在 PageControl 的右侧被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16468940/
在 Flutter 中,我无法将相同的 PageController 分配给多个 PageView。所以需要使用两个或多个 PageController。 我需要同步我的 ViewPage,这样当我互
在我的应用程序中,我想将 pagecontrol 可选页面(点)颜色更改为棕色而不是白色。 我知道可以更改页面控件的背景颜色。但是如何将可选页面(点)颜色更改为其他颜色? 最佳答案 UIPageCon
我想以编程方式将 UIPageControl 项添加到我的 View Controller 中。 self.view 属性包含一个具有以下属性的 UIScrollView: scrollView =
是否可以水平方向左对齐选项卡标题? 最佳答案 不确定您到底想要什么,但您可以将 OwnerDraw 属性设置为 True。并使用OnDrawTab事件自己绘制。 关于delphi - PageCont
我正在尝试将当前页面的点缩放为大于未“选择”的点。 我正在使用 ScrollView 委托(delegate)来确定哪个页面是当前的。 目前点的大小没有变化。 我将如何实现这一目标? func scr
http://apptech.next-munich.com/2010/04/customizing-uipagecontrols-looks.html 上面的网址中有一些用于自定义 UIPageCo
Delphi 7,带有选项卡的 TPageControl。如果我单击选项卡标题,它就会成为焦点(绘制虚线框)。这里不需要,我想始终保持选项卡内容的焦点(在页面控件内)。如何禁用选项卡标题上的焦点? 例
我的表单上有一个 PageControl,我希望检测用户何时选择另一个选项卡。 我该怎么做?我使用的是 Delphi 7。 我没有找到任何事件,浪费时间开发自己的页面控件并不完全是我打算做的。 最佳答
我正在寻找(我认为)可以在 TPageControl 组件的 OnDrawTab 事件中使用的 Windows API,以在我选择的选项卡上显示灰色文本。我过去曾经这样做过,根据内存,这就是我所做的(
Storyboard和 pageControl 作为页面 Controller 也呈现 View Controller 的序列有什么区别? 最佳答案 页面控件在 ScrollView 中添加多个 Vi
我正在尝试为 iOS Developer PageControl Sample 实现建议的优化。 .这是我在 PhoneContentController 中使用的代码: // A possible
我尝试在viewController中添加pageControl以显示当前页和总页。 我在viewController内有collectionView。但是如果我在 viewController 中添
我正在使用scrollview和pagecontroll来滚动某些内容。我使用了下面的代码,但我希望页面 Controller 的点显示在 View 上。我尝试将其放在所有 View 和 Scroll
我已经使用界面生成器向 titleView 添加了一个 pageControl。问题是它根本不居中。实际上,我可以在 leftBarButton 文本之后做很多空白,但这并不理想。解决方案是什么? 最
如果 pageControl.numberOfPages > 15 ,我想让我的 PageControl 显示两行 我已经搜索了pageContro 的所有功能,但没有找到任何功能可以处理这种情况。如
我正在尝试将当前页面的点缩放为大于未“选中”的点。 我正在使用 ScrollView 委托(delegate)来确定哪个页面是当前页面。 目前点的大小没有变化。 我将如何实现这一目标? func sc
我有 3 个页面 - A ViewController、B ViewController 和 C ViewController。 还有一个 PageViewController 控制水平滚动。 Pag
我正在使用 UIPageViewController 来显示其他 4 个 ViewController。所以我的 RootViewController 是一个 PageViewController ,
我似乎在 1 个屏幕上显示 2 个 PageView 时遇到问题。下面是我的应用程序:日历周时间轴是 PageView,它下面的内容也需要是 PageView。 现在两个 PageViews 都需要相
我目前使用的是 Delphi 7。 我有一个主表单,它有一个带有 5 个选项卡的 PageControl。我正在寻找一种方法将这些选项卡从页面控件中“分离”,并将它们单独移动到一个新的表单(即运行时创
我是一名优秀的程序员,十分优秀!