Iphone UIC辅助功能画外音为UIScrollView宣布错误的页码
我正在尝试使现有的应用程序尽可能可访问,以便进行语音切换 目前,我有一个uiviewcontroller,它基本上是一个分页照片视图,在uiscrollView(tourScrollView)下面有一个uipagecontrol,指示当前正在查看的图像/页面 以下是计算当前页面的代码:Iphone UIC辅助功能画外音为UIScrollView宣布错误的页码,iphone,objective-c,uiscrollview,accessibility,voiceover,Iphone,Objective C,Uiscrollview,Accessibility,Voiceover,我正在尝试使现有的应用程序尽可能可访问,以便进行语音切换 目前,我有一个uiviewcontroller,它基本上是一个分页照片视图,在uiscrollView(tourScrollView)下面有一个uipagecontrol,指示当前正在查看的图像/页面 以下是计算当前页面的代码: - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { CGFloat pageWidth = scrollView.frame
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
CGFloat pageWidth = scrollView.frame.size.width;
self.tourScrollView.isAccessibilityElement = NO;
scrollView.isAccessibilityElement = NO;
int currentPage = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
pageControl.currentPage = currentPage;
}
页面计算代码工作正常
总共显示了5幅图像
启用画外音后,当滚动视图滚动时,而不是继续
page 1 of 5
page 2 of 5
page 3 of 5
page 4 of 5
page 5 of 5
事情是这样的
page 1 of 6
page 2 of 6
page 3 of 6
page 5 of 6
page 6 of 6
下面是将图像添加到scrollView的代码
-(void)addImagesToScrollview{
NSArray *welcomeImages = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"img-01.png"],
[UIImage imageNamed:@"img-02.png"],
[UIImage imageNamed:@"img-03.png"],
[UIImage imageNamed:@"img-04.png"],
[UIImage imageNamed:@"img-05.png"],nil];
CGRect scrollViewFrame = tourScrollView.frame;
CGFloat scrollViewWidth = scrollViewFrame.size.width;
CGFloat scrollViewHeight = scrollViewFrame.size.height;
CGFloat imageX;
for (int i = 0; i<[welcomeImages count]; i++) {
int index = i;
imageX = (scrollViewWidth*index) + (scrollViewWidth - IMAGE_WIDTH)/2.0;
CGRect boarderViewRect = CGRectMake(imageX, 20.0f, IMAGE_WIDTH, IMAGE_HEIGHT);
UIView *whiteBorderView = [[UIView alloc] initWithFrame:boarderViewRect];
whiteBorderView.backgroundColor = [UIColor whiteColor];
UIImageView *imageView = [[UIImageView alloc]initWithImage:[welcomeImages objectAtIndex:i]];
CGRect imageRect = CGRectInset(boarderViewRect, IMAGE_INSET, IMAGE_INSET);
imageView.frame = imageRect;
CGRect descriptionRect = CGRectMake((scrollViewWidth*index) + 20.0f, imageRect.origin.y + imageRect.size.height+10, 280, 90);
CGSize maximumLabelSize = CGSizeMake(descriptionRect.size.width,120);
descriptionRect.size = [[self descriptionForIndex:i] sizeWithFont:[UIFont systemFontOfSize:16.0] constrainedToSize:maximumLabelSize lineBreakMode:UILineBreakModeTailTruncation];
UILabel *imageDescription = [[UILabel alloc] initWithFrame:descriptionRect];
imageDescription.text = [NSString stringWithFormat:@"%@",[self descriptionForIndex:i]];
imageDescription.numberOfLines = 0;
imageDescription.backgroundColor = [UIColor clearColor];
imageDescription.font = [UIFont systemFontOfSize:16.0];
imageDescription.textColor = [UIColor colorWithRed:(119.0/255.0) green:(119.0/255.0) blue:(119.0/255.0) alpha:1.0];
imageDescription.textAlignment = UITextAlignmentCenter;
imageDescription.shadowColor = [UIColor whiteColor];
imageDescription.shadowOffset = CGSizeMake(0,1);
[tourScrollView addSubview:whiteBorderView];
[tourScrollView addSubview:imageView];
[tourScrollView addSubview:imageDescription];
if (i == [welcomeImages count]-1) {
tourScrollView.contentSize = CGSizeMake(imageView.frame.origin.x + scrollViewWidth -((scrollViewWidth - IMAGE_WIDTH)/2.0), scrollViewHeight);
}
}
}
-(void)添加图像滚动视图{
NSArray*welcomeImages=[[NSArray alloc]initWithObjects:[UIImage ImageName:@“img-01.png”],
[UIImage ImageName:@“img-02.png”],
[UIImage ImageName:@“img-03.png”],
[UIImage ImageName:@“img-04.png”],
[UIImage ImageName:@“img-05.png”],无];
CGRect scrollViewFrame=tourScrollView.frame;
CGFloat scrollViewWidth=scrollViewFrame.size.width;
CGFloat scrollViewHeight=scrollViewFrame.size.height;
CGX;
对于(int i=0;i以下是修复它的方法:
删除了注释代码,并在for循环之外添加了一行内容大小
-(void)addImagesToScrollview{
NSArray *welcomeImages = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"img-01-welcome.png"],
[UIImage imageNamed:@"img-02-welcome.png"],
[UIImage imageNamed:@"img-03-welcome.png"],
[UIImage imageNamed:@"img-04-welcome.png"],
[UIImage imageNamed:@"img-05-welcome.png"],nil];
CGRect scrollViewFrame = tourScrollView.frame;
CGFloat scrollViewWidth = scrollViewFrame.size.width;
CGFloat scrollViewHeight = scrollViewFrame.size.height;
CGFloat imageX;
for (int i = 0; i<[welcomeImages count]; i++) {
int index = i;
imageX = (scrollViewWidth*index) + (scrollViewWidth - IMAGE_WIDTH)/2.0;
CGRect boarderViewRect = CGRectMake(imageX, 20.0f, IMAGE_WIDTH, IMAGE_HEIGHT);
UIView *whiteBorderView = [[UIView alloc] initWithFrame:boarderViewRect];
whiteBorderView.backgroundColor = [UIColor whiteColor];
UIImageView *imageView = [[UIImageView alloc]initWithImage:[welcomeImages objectAtIndex:i]];
CGRect imageRect = CGRectInset(boarderViewRect, IMAGE_INSET, IMAGE_INSET);
imageView.frame = imageRect;
CGRect descriptionRect = CGRectMake((scrollViewWidth*index) + 20.0f, imageRect.origin.y + imageRect.size.height+10, 280, 90);
CGSize maximumLabelSize = CGSizeMake(descriptionRect.size.width,120);
descriptionRect.size = [[self descriptionForIndex:i] sizeWithFont:[UIFont systemFontOfSize:16.0] constrainedToSize:maximumLabelSize lineBreakMode:UILineBreakModeTailTruncation];
UILabel *imageDescription = [[UILabel alloc] initWithFrame:descriptionRect];
imageDescription.text = [NSString stringWithFormat:@"%@",[self descriptionForIndex:i]];
imageDescription.numberOfLines = 0;
imageDescription.backgroundColor = [UIColor clearColor];
imageDescription.font = [UIFont systemFontOfSize:16.0];
imageDescription.textColor = [UIColor colorWithRed:(119.0/255.0) green:(119.0/255.0) blue:(119.0/255.0) alpha:1.0];
imageDescription.textAlignment = UITextAlignmentCenter;
imageDescription.shadowColor = [UIColor whiteColor];
imageDescription.shadowOffset = CGSizeMake(0,1);
[tourScrollView addSubview:whiteBorderView];
[tourScrollView addSubview:imageView];
[tourScrollView addSubview:imageDescription];
// if (i == [welcomeImages count]-1) {
// tourScrollView.contentSize = CGSizeMake(imageView.frame.origin.x + scrollViewWidth -((scrollViewWidth - IMAGE_WIDTH)/2.0), scrollViewHeight);
// }
}
tourScrollView.contentSize = CGSizeMake(320.0*[welcomeImages count], scrollViewHeight);
}
-(void)添加图像滚动视图{
NSArray*welcomeImages=[[NSArray alloc]initWithObjects:[UIImage ImageName:@“img-01-welcome.png”],
[UIImage ImageName:@“img-02-welcome.png”],
[UIImage ImageName:@“img-03-welcome.png”],
[UIImage ImageName:@“img-04-welcome.png”],
[UIImage ImageName:@“img-05-welcome.png”],无;
CGRect scrollViewFrame=tourScrollView.frame;
CGFloat scrollViewWidth=scrollViewFrame.size.width;
CGFloat scrollViewHeight=scrollViewFrame.size.height;
CGX;
对于(int i=0;i)这里发生的事情有点难以想象。可能是一个视频/图片?一种nike fuel演练,这就是我所拥有的。只是在滑动时,画外音打开,画外音女士宣布错误的页面。自从你上一篇关于这个问题的帖子以来,有没有更新过?