gpt4 book ai didi

iphone - UIScrollview 的奇怪行为

转载 作者:行者123 更新时间:2023-11-29 04:19:27 24 4
gpt4 key购买 nike

我需要在 UIScrollView 上绘制动态图像,为此我使用 MKHorizion 菜单( ScrollView 的子类)。现在我在 ScrollView 上添加 subview 图像。循环非常适合在 ScrollView 上添加 subview 。现在在我的父类中,我需要触摸 ScrollView 以获取更新的数据。如果我没有触摸,那么它不会显示更新的数据。下面是代码

-(void) reloadData
{
[self deleteAlliTem];
self.itemCount = [dataSource numberOfImagesForMenu:self];
self.backgroundColor = [dataSource backgroundColorForImage:self];

UIFont *buttonFont = [UIFont boldSystemFontOfSize:15];
int buttonPadding = 0;

int tag = kButtonBaseTag;
int xPos = kLeftOffset;

for(int i = 0 ; i < self.itemCount; i ++)
{
NSLog(@"*************************************************************");
NSMutableDictionary *dictData=[dataSource horizMenuImage:self dictForItmeAtIndex:i];

NSString *title=[dictData valueForKey:@"name"] ? [dictData valueForKey:@"name"] : @"";

UIImage* imageItem= [UIImage imageWithData:[Base64 decode:[dictData valueForKey:@"img"]]];
int buttonWidth = 95;

UIButton *customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[customButton setTitle:title forState:UIControlStateNormal];
customButton.titleLabel.font = buttonFont;
[customButton setBackgroundImage:[UIImage imageNamed:@"addFriendStrip.png"] forState:UIControlStateNormal];
[customButton setBackgroundImage:[UIImage imageNamed:@"addFriendStrip.png"] forState:UIControlStateSelected];
customButton.tag = tag++;
[customButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
customButton.frame = CGRectMake(xPos, 70, buttonWidth + buttonPadding, 25);
customButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
customButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

customButton.titleEdgeInsets =UIEdgeInsetsMake(0, 10,0, 0);

customButton.titleLabel.font = [UIFont fontWithName:@"Overlock-Bold" size:16];
[customButton setTitleColor:[UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1] forState:UIControlStateNormal];
[customButton setTitleColor:[UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1] forState:UIControlStateSelected];

UIImageView* itemImageView = [[UIImageView alloc] initWithImage:imageItem];
itemImageView.tag = 200 + customButton.tag;
[itemImageView setFrame:CGRectMake(xPos, 0, buttonWidth + buttonPadding, 95)];
[self addSubview:itemImageView];
[itemImageView release];
itemImageView = nil;
[self addSubview:customButton];

xPos += buttonWidth;
xPos += buttonPadding;
if (i != self.itemCount-1){
xPos += 2.5; //5; // Richa
}
}
self.contentSize = CGSizeMake(xPos, 95);
NSLog(@"############################################################################ - %d",[[self subviews] count]);
[self scrollRectToVisible:CGRectMake(1, 0, self.frame.size.width, self.frame.size.height) animated:YES];
}

请帮我解决这个问题。为什么我需要触摸 ScrollView ?我需要重写其他方法吗?

最佳答案

你检查过它在主线程上吗?可能是您正在使用 GCD 队列,这就是为什么它直到触摸才更新。

关于iphone - UIScrollview 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13157728/

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