實作一個ScrollView的砍圖機制,此機制是使用tag來完成的。
本例的測試在於所增加的小圖,可以隨時移除所需的部分。
Xcode版本4.5 & IOS6
1. 開啓一個iPad的專案
2. 加入兩個Button
3. 加入所需的圖檔
4. 在objectTagViewController.m加入控制碼
#import "objectTagViewController.h"
@interface objectTagViewController ()
@end
@implementation objectTagViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *imageName = [NSString stringWithFormat:@"TaiwanMap.jpg"];
UIImage *image1 = [UIImage imageNamed:imageName];
UIImageView *imageView1 = [[UIImageView alloc] initWithImage:image1];
UIImage *image2 = [UIImage imageNamed:imageName];
UIImageView *imageView2 = [[UIImageView alloc] initWithImage:image2];
[imageView1 setFrame:CGRectMake(0, 0, 512, 600)];// x, y, w, h
[imageView2 setFrame:CGRectMake(512, 0, 512, 600)];// x, y, w, h
[self.view addSubview:imageView1];
[self.view addSubview:imageView2];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)deleteImage:(id)sender {
[self removeSubViewByTag:12];
[self removeSubViewByTag:15];
}
- (IBAction)addImage:(id)sender {
NSString *imageName1 = [NSString stringWithFormat:@"Green Apple.gif"];
NSString *imageName2 = [NSString stringWithFormat:@"Orange.gif"];
NSString *imageName3 = [NSString stringWithFormat:@"Pear.gif"];
NSString *imageName4 = [NSString stringWithFormat:@"Red Apple.gif"];
NSString *imageName5 = [NSString stringWithFormat:@"Strawberry.gif"];
UIImage *image1 = [UIImage imageNamed:imageName1];
UIImage *image2 = [UIImage imageNamed:imageName2];
UIImage *image3 = [UIImage imageNamed:imageName3];
UIImage *image4 = [UIImage imageNamed:imageName4];
UIImage *image5 = [UIImage imageNamed:imageName5];
UIImageView *imageView1 = [[UIImageView alloc] initWithImage:image1];
UIImageView *imageView2 = [[UIImageView alloc] initWithImage:image2];
UIImageView *imageView3 = [[UIImageView alloc] initWithImage:image3];
UIImageView *imageView4 = [[UIImageView alloc] initWithImage:image4];
UIImageView *imageView5 = [[UIImageView alloc] initWithImage:image5];
[imageView1 setFrame:CGRectMake(50, 50, 72, 72)];// x, y, w, h
[imageView2 setFrame:CGRectMake(100, 100, 72, 72)];// x, y, w, h
[imageView3 setFrame:CGRectMake(150, 150, 72, 72)];// x, y, w, h
[imageView4 setFrame:CGRectMake(250, 250, 72, 72)];// x, y, w, h
[imageView5 setFrame:CGRectMake(300, 300, 72, 72)];// x, y, w, h
imageView1.tag = 11;
imageView2.tag = 12;
imageView3.tag = 13;
imageView4.tag = 14;
imageView5.tag = 15;
[self.view addSubview:imageView1];
[self.view addSubview:imageView2];
[self.view addSubview:imageView3];
[self.view addSubview:imageView4];
[self.view addSubview:imageView5];
}
- (void) removeSubViewByTag:(NSInteger *)tagNum
{
for(UIView *subview in [self.view subviews]) {
//if([subview isKindOfClass:[UILabel class]]) {
if (tagNum == subview.tag) {
[subview removeFromSuperview];
} else {
// Do nothing - not a UIButton or subclass instance
}
}
}
@end
5. 執行結果 ,原始背景圖,後來加入五個水果,然後再移除中間的兩個。





