Iphone 从滚动视图保存图像
请帮忙。我有一个在scrollview中显示图像的代码:Iphone 从滚动视图保存图像,iphone,objective-c,ios,Iphone,Objective C,Ios,请帮忙。我有一个在scrollview中显示图像的代码: - (void)viewDidLoad { [super viewDidLoad]; NSArray *imgNames = [[NSArray alloc] initWithObjects:@"ip1.jpg", @"ip2.jpg", @"ip3.jpg", @"ip4.jpg", @"ip5.jpg", @"ip6.jpg", @"ip7.jpg", @"ip8.jpg", @"ip9.jpg", @"ip10.
- (void)viewDidLoad
{
[super viewDidLoad];
NSArray *imgNames = [[NSArray alloc] initWithObjects:@"ip1.jpg", @"ip2.jpg", @"ip3.jpg", @"ip4.jpg", @"ip5.jpg", @"ip6.jpg", @"ip7.jpg", @"ip8.jpg", @"ip9.jpg", @"ip10.jpg",@"ip11.jpg",@"ip12.jpg",@"ip13.jpg",@"ip14.jpg",@"ip15.jpg",@"ip16.jpg",@"ip17.jpg",@"ip18.jpg",@"ip19.jpg",@"ip20.jpg",@"ip21.jpg", nil];
// Setup the array of UIImageViews
NSMutableArray *imgArray = [[NSMutableArray alloc] init];
UIImageView *tempImageView;
for(NSString *name in imgNames) {
tempImageView = [[UIImageView alloc] init];
tempImageView.contentMode = UIViewContentModeScaleAspectFill;
tempImageView.image = [UIImage imageNamed:name];
[imgArray addObject:tempImageView];
}
CGSize pageSize = scrollViewBack.frame.size; // scrollView is an IBOutlet for our UIScrollView
NSUInteger page = 0;
for(UIView *view in imgArray) {
[scrollViewBack addSubview:view];
// This is the important line
view.frame = CGRectMake(pageSize.width * page++ + 40, 0, pageSize.width - 80, pageSize.height);
}
scrollViewBack.contentSize = CGSizeMake(pageSize.width * [imgArray count], pageSize.height);
}
现在,我想要一个UILabel,当我滚动时,它会显示我的图像名称。请帮帮我,我无法实现。非常感谢。在您的循环中,您可以这样做。阅读苹果文档。在谷歌搜索如何制作标签。如果你只是尝试,学习这些东西并不难
for(NSString *name in imgNames) {
// ....
UILabel *label = [[UILabel alloc] initWithFrame:WHEREYOUWANTIT];
[label setText:name];
}
在第二个
for
循环中,您可以访问imgArray
和imgNames
对象的索引,因此请尝试以下操作:
int idx = [imgArray indexOfObject:view];
NSString *strName = [imgNames objectAtIndex:idx];
//create the label
label.text=strName;
//add the label in the scrollView
如果您想在显示新图像时显示标签,请将这两个数组保留为IVAR,并使用跟踪滚动视图的哪个页面。()。为什么不能??只有你自己才能为自己编写代码。我担心如果有人会为你编码。@如果你得到了这些东西,请与我分享。我的要求是一样的。谢谢我可以工作,但是,如果我使用NSLOG来显示它。我会给我看像“1124580”这样的数字。我还实现了页面控制,它可以工作,但是如果我想用NSlog只显示当前的页码,它还会显示“1141212”请帮助我。可能是你用错误的方式格式化了字符串。它应该看起来像
label.text=[NSString stringWithFormat:@“%@”,name]代码>。或者请演示如何设置字符串。