gpt4 book ai didi

ios - 当我放大和缩小时,UIButtons 有 "Edge Flicker"。这是 UI 错误吗?有修复吗?

转载 作者:行者123 更新时间:2023-11-29 04:51:08 25 4
gpt4 key购买 nike

我有一个 UIScrollView,其中包含一个子 UIView,insetView,它用于显示其他 UIView,在运行时换入和换出。这些 subview 不仅仅是图像或单 View 对象。它们是功能齐全的 View ,包含按钮、标签、图像等。

我看到的问题是,当我放大和缩小时,我注意到按钮边缘周围不断出现这些闪烁的线条。这些线的奇怪之处在于它们可以出现在按钮的任何一侧,但它们永远不会一直延伸到按钮的角落。

我可以持续地、缓慢地放大和缩小,当其中一条线出现时,我可以稍微捏住并展开我的手指,我会看到同一条线消失并再次出现,并且再次以相当一致的方式出现。

这是缩放算法的错误吗?有什么办法可以阻止这种情况吗?

这是一些小细节之一,不会影响应用程序的功能,但会极大地影响抛光水平。在一个有足够按钮的屏幕上,这实际上是一件很烦人的事情。

请参阅下面的两张图片作为示例。这些是从我的 iPad 上截取的屏幕截图,我将它们放大了一点,以便您可以看到亮点。像素化来自于我的照片编辑器中关闭抗锯齿功能,而不是来自 iPad。

这是一个具有两个相邻按钮的示例。第一个图像看起来是正确的,第二个图像是错误的。

良好的形象

enter image description here

形象不佳

enter image description here

最佳答案

也许缩放设置不正确,特别是如果您只使用 IB。请参阅示例代码。添加到“zoomingContainer”的任何内容都将正确缩放。

@interface ViewController : UIViewController <UIScrollViewDelegate> {
UIView *zoomingContainer;
}

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
scrollView.contentSize = CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height);
scrollView.delegate = self;
scrollView.maximumZoomScale = 4.0;
[self.view addSubview:scrollView];

zoomingContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
[scrollView addSubview:zoomingContainer];

UIButton *saveButton = [UIButton buttonWithType:UIButtonTypeCustom];
saveButton.frame = CGRectMake(50,100, 100,40);
[saveButton setBackgroundImage:[UIImage imageNamed:@"RedButton.png"] forState:UIControlStateNormal];
[saveButton setTitle:@"Save" forState:UIControlStateNormal];
saveButton.titleLabel.font = [UIFont boldSystemFontOfSize:20];

[zoomingContainer addSubview:saveButton];
}

#pragma mark UIScrollViewDelegate
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return zoomingContainer;
}
#pragma mark -

@end

链接RedButton file is here

关于ios - 当我放大和缩小时,UIButtons 有 "Edge Flicker"。这是 UI 错误吗?有修复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8825676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com